【问题标题】:Can I return a table of custom object as an OUT parameter when calling stored procedure in JDBC在 JDBC 中调用存储过程时,我可以将自定义对象表作为 OUT 参数返回吗
【发布时间】:2011-01-24 13:04:39
【问题描述】:

在 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 中读取结果?如果不是,除了返回游标外,还有哪些可用的选项?

【问题讨论】:

  • 你在使用 CallableStatement 吗?

标签: oracle jdbc oracle11g spring-jdbc ora-17004


【解决方案1】:

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

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

您应该能够相当轻松地将其适应SimpleJdbcCall

【讨论】:

    猜你喜欢
    • 2016-10-26
    • 1970-01-01
    • 2012-06-07
    • 1970-01-01
    • 1970-01-01
    • 2013-09-21
    • 1970-01-01
    • 2010-12-10
    • 2012-02-08
    相关资源
    最近更新 更多