|
|
问题已经解决,具体代码如下
PL/SQL部分:
CREATE or replace PACKAGE test_pkg AS
TYPE g_cursor IS REF CURSOR RETURN gene_info%ROWTYPE;
procedure test_select(result out g_cursor);
END test_pkg;
CREATE OR REPLACE PROCEDURE sp_test(p_cursor out types.cursorType)
IS
BEGIN
open p_cursor for select * from gene_info;
END;
javabean部分:
import java.sql.*;
import java.io.*;
import java.util.*;
import oracle.jdbc.driver.*;
import oracle.sql.*;
public class test
{
Connection conn = null;
int size=0;
public ResultSet getResult()
{
ResultSet cursor=null;
try {
DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
conn = DriverManager.getConnection(sConnStr,"888","88888" ;
CallableStatement stmt = conn.prepareCall("{call sp_test(?)}" ;
stmt.registerOutParameter (1, OracleTypes.CURSOR);
stmt.execute ();
cursor = ((OracleCallableStatement)stmt).getCursor (1);
return cursor;
}
catch(Exception e)
{
System.err.println("aaaaaaaaaaa: " + e.toString());
return cursor;
}
}
} |
|