Ich versuche eine gespeicherte Prozedur auszuführen, die ein resultSet mit oracle jdbc zurückgibt. Das Verfahren ist wie folgt.Festlegen des out-Parameters in der aufrufbaren Anweisung
create or replace procedure display_players (rset OUT sys_refcursor)
as
Begin
open rset for select * from player_data;
End;
/
Der Java-Code ist wie folgt
try {
sql = "{call display_players()}";
call = conn.prepareCall(sql);
call.execute();
rs = call.getResultSet();
while(rs.next()){
System.out.println(rs.getString("name") + " : " + rs.getString("club"));
}
Ich versuchte, die out-Parameter als
call = conn.prepareCall("{call display_players(?)}");
call.registerOutParameter(1, OracleTypes.CURSOR);
Aber die vermöge Arbeit zu registrieren, noch wird der aktuelle Code arbeiten, wie ich eine Null erhalten Zeigerausnahme, was bedeutet, dass die Ergebnismenge nicht zurückgegeben wird. Wie erreiche ich das?
können Sie Fehlercode schreiben. –
Ausnahme im Thread "main" java.lang.NullPointerException \t bei tester.main (tester.java:49) – codepoetly
posten Sie bitte Ihren vollständigen Fehlercode. –