CallableStatement, Stored Procedure in Java

Diable

Mitglied
Hallo zusammen,
ich versuche seit einiger Zeit mit Java eine PL/SQL-Procedure bzw. Function anzusprechen.
Diese Function gibt mehrer Columns und Rows (wenn man direkt mit einem SQL-Editor zugreift) zurück.
Leider funktioniert das in meinem Programm nicht wirklich. Hab hier schon Themen durchsucht, aber irgendwie bin ich dabei nicht weitergekommen.

Ich poste euch mal ein Stück von meinem Code.

Java:
CallableStatement cstmt = connection.prepareCall("{?=call PG_DINGS.F_READ(?, ?, ?, ?, ?, ?, ?, ?)}");
			
cstmt.registerOutParameter(1, java.sql.Types.INTEGER);
cstmt.setString(2, "APL");
cstmt.setString(3, "SERV");
cstmt.registerOutParameter(4, java.sql.Types.VARCHAR);
cstmt.registerOutParameter(5, java.sql.Types.INTEGER);
cstmt.registerOutParameter(6, java.sql.Types.DATE);
cstmt.registerOutParameter(7, java.sql.Types.DATE);
cstmt.registerOutParameter(8, java.sql.Types.VARCHAR);
cstmt.registerOutParameter(9, java.sql.Types.VARCHAR);

ResultSet rs = cstmt.executeQuery();

try {
    while (rs.next()) {
					
    }
} catch (SQLException e) {				
   e.printStackTrace();				
}

rs.close();
cstmt.close();


Wenn ich das Programm ausführen will, taucht folgender Stacktrace auf:

Code:
java.sql.SQLException: ORA-00600: internal error code, arguments: [12259], [], [], [], [], [], [], []

	at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
	at oracle.jdbcc7Ioer.processError(TTIoer.java:208)
	at oracle.jdbcc7.Oall7.receive(Oall7.java:543)
	at oracle.jdbcc7C7Protocol.doOall7(TTC7Protocol.java:1451)
	at oracle.jdbcc7C7Protocol.fetch(TTC7Protocol.java:943)
	at oracle.jdbc.driver.OracleResultSetImpl.next(OracleResultSetImpl.java:245)
...

Mach ich irgendwie grundlegen etwas falsch? Oder geht dies so gar nicht, was ich vor habe?
Kann man immer nur eine Row bekommen?

Wäre euch sehr dankbar für eure Hilfe. Bin nämlich kurz vorm Verzweifeln

Grüße
 
Zurück