Могу ли я вернуть таблицу пользовательских объектов в качестве параметра OUT при вызове хранимой процедуры в JDBC - PullRequest
2 голосов
/ 24 января 2011

В Oracle 11g у меня есть такая хранимая процедура:

PROCEDURE test_params (o_message_tbl OUT core.message_tbl);

где

create or replace TYPE message_tbl AS TABLE OF core.message_obj;
create or replace TYPE message_obj AS OBJECT
              (code NUMBER (10, 0),
               type_code VARCHAR2 (10 CHAR),
               text VARCHAR2 (1000 CHAR)
              )

Я использую SpringJ SimpleJdbcCall, чтобы вызвать его, но это дает мне исключение "Недопустимый тип столбца". Можно ли вызвать такую ​​процедуру и прочитать результат в JDBC? Если нет, какие другие опции доступны, кроме возврата курсора?

1 Ответ

2 голосов
/ 24 января 2011

Spring и SimpleJdbcCall не делают ничего фантастического, они просто делают JDBC немного проще в использовании.

Здесь приведен пример использования TABLE типов возврата в JDBC: http://www.velocityreviews.com/forums/t138431-access-oracle-objects-via-plsql-from-jdbc.html

Вы сможете легко приспособить его к SimpleJdbcCall.

...