Как принять курсор REF в JAVA без импорта пакета Oracle

StackOverflow https://stackoverflow.com/questions/84782

  •  01-07-2019
  •  | 
  •  

Вопрос

Я пишу программу 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?Я уверен, что примеров достаточно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top