2

在 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)
              )

我正在使用 Spring 的 SimpleJdbcCall 来调用它,但它给了我“无效的列类型”异常。是否可以调用这样的过程并在 JDBC 中读取结果?如果不是,除了返回游标外,还有哪些其他选项可用?

4

1 回答 1

2

Spring 并SimpleJdbcCall没有做任何花哨的事情,它们只是让 JDBC 更易于使用。

这里有一个如何TABLE在 JDBC 中使用返回类型的示例: http ://www.velocityreviews.com/forums/t138431-access-oracle-objects-via-plsql-from-jdbc.html

你应该能够SimpleJdbcCall相当容易地适应它。

于 2011-01-24T13:45:07.217 回答