Java µ÷Óà Oracle ´æ´¢¹ý³Ì·µ»Ø½á¹û¼¯
Oracle ´æ´¢¹ý³Ì·µ»Ø½á¹û¼¯Óà ref cursor ʵÏÖ¡£
ÊÔÑé²½ÖèÈçÏ£º
1. ½¨Á¢ ref cursor ÀàÐͺ͹ý³Ì
CREATE OR REPLACE PACKAGE types
AS
TYPE ref_cursor IS REF CURSOR;
END;
/
CREATE TABLE STOCK_PRICES(
RIC VARCHAR(6) PRIMARY KEY,
PRICE NUMBER(7,2),
UPDATED DATE );
/
CREATE OR REPLACE FUNCTION sp_get_stocks(v_price IN NUMBER)
RETURN types.ref_cursor
AS
stock_cursor types.ref_cursor;
BEGIN
OPEN stock_cursor FOR
SELECT ric,price,updated from stock_prices WHERE price < v_price;
RETURN stock_cursor;
END;
2. Óà sqlplus ²âÊÔ¹ý³Ì
SQL> var results refcursor
SQL> exec :results := sp_get_stocks(20.0)
SQL> print results
3. ´Ó Java µ÷ÓÃ
import java.sql.*;
import java.io.*;
import oracle.jdbc.driver.*;
public class JDBCDemo {
/**
* Compile-time flag for deciding which query to use
*/
private boolean useOracleQuery = true;
/**
* Class name of Oracle JDBC driver
*/
private String driver = "oracle.jdbc.driver.OracleDriver";
/**
* Initial url fragment
*/
private String url = "jdbc:oracle:thin:@";
/**
* Standard Oracle listener port
*/
private String port = "1521";
/**
* Oracle style of calling a stored procedure
*/
private String oracleQuery = "begin ? := sp_get_stocks(?); end;";
/**
* JDBC style of calling a stored procedure
*/
private String genericQuery = "{ call ? := sp_get_stocks(?) }";
/
Ïà¹ØÎĵµ£º
oracle±í¿Õ¼ä²Ù×÷Ïê½â
1
2
3×÷Õߣº À´Ô´£º ¸üÐÂÈÕÆÚ£º2006-01-04
5
6
7½¨Á¢±í¿Õ¼ä
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
·þÎñ¶Ë£º
package socket;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) {
try {
ServerSocket server = new Se ......
¶à̬µÄÄ¿µÄ
ͨ¹ýÀàÐÍת»»£¬°ÑÒ»¸ö¶ÔÏóµ±×÷ËüµÄ»ùÀà¶ÔÏó¶Ô´ý¡£
´ÓÏàͬµÄ»ùÀàÅÉÉú³öÀ´µÄ¶à¸öÅÉÉúÀà¿É±»µ±×÷ͬһ¸öÀàÐͶԴý£¬¿É¶ÔÕâЩ²»Í¬µÄÀàÐͽøÐÐͬÑùµÄ´¦Àí¡£
ÕâЩ²»Í¬ÅÉÉúÀàµÄ¶ÔÏóÏìӦͬһ¸ö·½·¨Ê±µÄÐÐΪÊÇÓÐËù²î±ðµÄ£¬ÕâÕýÊÇÕâЩÏàËÆµÄÀàÖ®¼ä±Ë´ËÇø±ðµÄ²»Í¬Ö®´¦¡£
¶¯Ì¬°ó¶¨
½«Ò»¸ö·½·¨µ÷ÓúÍÒ»¸ö·½·¨Ö÷ÌåÁ¬½Óµ½Ò»Æð ......
½ñÌìÔÚnet managerÅäÖñ¾µØ·þÎñʱ³öÏÖÕâÑùµÄÎÊÌâ
ORA-12514: TNS:listener could not resolve SERVICE_NAME given in connect descriptor
ÔÚgoogleÉÏËÑË÷µÃµ½Èô¸É´ð°¸£¬×ÜÊDz»¶Ô£¬ºóÀ´ÔÚͬʵİïÖúϽâ¾öÁËÎÊÌ⣬ÏÖÔÚ×ܽáһϸú´ó¼Ò·ÖÏí¡£
1¡¢Ñ¡Öб¾µØ——·þÎñÃüÃû£¬ÔÚ±à¼Öд´½¨
2¡¢ÊäÈënet·þÎñÃû£¬×¢ÒâÕâÊÇ ......
Ò» ÒýÑÔ
Êý¾Ý²Ö¿â¼¼ÊõÊÇĿǰÒÑÖªµÄ±È½Ï³ÉÊìºÍ±»¹ã·º²ÉÓõĽâ¾ö·½°¸£¬ÓÃÓÚÕûºÍµçÐÅÔËÓªÆóÒµÄÚ²¿ËùÓзÖÉ¢µÄÔʼҵÎñÊý¾Ý£¬²¢Í¨¹ý±ã½ÝÓÐЧµÄÊý¾Ý·ÃÎÊÊֶΣ¬¿ÉÒÔÖ§³ÖÆóÒµÄÚ²¿²»Í¬²¿ÃÅ£¬²»Í¬ÐèÇ󣬲»Í¬²ã´ÎµÄÓû§ËæÊ±»ñµÃ×Ô¼ºËùÐèµÄÐÅÏ¢¡£Êý¾Ý²Ö¿âϵͳÐèÒªÄܹ»¼°Ê±µØ×·×ٺͷÖÎö´óÁ¿µÄÀúÊ·Êý¾Ý£¬²¢Äܹ»¼°Ê±×ö³ö·ÖÎöºÍÔ¤²â£¬Òò´ËÊ ......