Es geht um den Aufruf einer Stored Procedure, die als InOut Parameter einen Ref Cursor zurück gibt. Jeder, der sich jetzt denkt "was zum Geier ist ein Ref Cursor": bitte weiter gehen, hier gibt es nichts zu sehen

In Java funktioniert das hervorragend mit einem Aufruf der Art:
Code: Alles auswählen
CallableStatement statement = connection.prepareCall("declare ret SPSCHEMA.TYPES.DB_RESULT;" +
"begin SESSION.APP_ID := 123;" +
"ret := PARAMS.DB_CURSOR_OPEN(" +
"i_PARAM_ID => ?," +
"io_CURSOR => ?" +
"); end;");
statement.setInt(1, 12345);
statement.registerOutParameter(2, OracleTypes.CURSOR);
statement.execute();
ResultSet resultSet = (ResultSet)statement.getObject(2);
while (resultSet.next()) {
System.out.println(resultSet.getString("SHORTNAME"));
}
Genau dieser letzte Punkt würde mich nun bei ZEOS reizen: wie kann ich mit diesem Cursor umgehen? Als Parameter Typ gibt es ja "ftCursor" ... aber wie kann ich den einem TZQuery zuweisen?
P.S.: TZStoredProc wäre zwar schön gewesen, bietet mir aber nicht die nötigen Freiheiten (Rückgabetyp per "declare" setzen, vor dem Aufruf noch globale Variablen setzen, etc.).