W podobny sposób jak PHP:
String dbCall = "{ ? = call pa_internal_admin.fn_search_level_1(?) }";
proc = dbConn.connection().prepareCall( dbCall );
proc.registerOutParameter(1, OracleTypes.CURSOR);
proc.setString(2, searchText);
Lub, jeśli wolisz, być jeszcze bardziej podobnym:
String dbCall = "BEGIN ? := pa_internal_admin.fn_search_level_1(?); END;";
Próbowałeś wywołać to jako procedurę z dwoma parametrami, a nie funkcję z jednym; nie możesz dowolnie tego zmienić w swojej rozmowie.
Kursor można odzyskać za pomocą:
OracleResultSet rSet = (OracleResultSet) proc.getCursor(1);
... a następnie potraktuj go jak każdy inny zestaw wyników.