Oracle 在JDBC中调用存储过程时,是否可以将自定义对象的表作为OUT参数返回
在Oracle 11g中,我有这样一个存储过程:Oracle 在JDBC中调用存储过程时,是否可以将自定义对象的表作为OUT参数返回,oracle,jdbc,oracle11g,spring-jdbc,ora-17004,Oracle,Jdbc,Oracle11g,Spring Jdbc,Ora 17004,在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),
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的SimpleJDBCall来调用它,但它给了我“Invalid column type”异常。可以调用这样的过程并在JDBC中读取结果吗?如果没有,除了返回光标,还有什么其他选项可用?Spring和
SimpleJdbcCall
不要做任何花哨的事情,它们只是使JDBC更易于使用
这里有一个如何在JDBC中使用TABLE
返回类型的示例:
您应该能够相当容易地将其适应于
SimpleJdbcCall
。您使用的是CallableStatement吗?