Как принять курсор REF в JAVA без импорта пакета Oracle
Вопрос
Я пишу программу JAVA, используя JDBC для подключения к базе данных, я вызываю одну хранимую процедуру, которая возвращает ORACLE REF CURSOR. Могу ли я как-нибудь справиться с этим без импорта ПАКЕТОВ ORACLE?
Решение
Кажется, я пытался сделать это некоторое время назад и вроде как сдался (думаю, вы могли бы выяснить, какое int значение имеет OracleTypes.REF_CURSOR, а затем использовать это int значение, но это хак).Если у вас есть терпение, вы можете определить тип записи (или объекта) и определить курсор как курсор с типом, поскольку его можно привести с помощью таблицы к значению, которое можно выбрать, как в обычных таблицах, т.е.
select * from table( sp_returning( ? ) )
Я быстро погуглил по ref курсору и jdbc, и похоже, что это может быть расширение Oracle, которое объясняет, почему не существует стандартного способа доступа к данным.
Другие советы
Делает
select * from table( sp_returning( ? ) )
медленнее, чем возврат исходного курсора.
Я могу использовать ref-курсор в сочетании с C#, почему вы не можете сделать это с Java?Я уверен, что примеров достаточно.