java - 我们可以将 Oracle RECORD TYPE 与 java Callable 语句集成吗?

标签 java oracle jdbc

RECORD类型真的不兼容JDBC吗?驱动使用的是OJDBC6.jar

Java 代码:

dbStrategy.openConnection();
        WrappedConnectionJDK6 wrapped = (WrappedConnectionJDK6) dbStrategy.getConnection();
        OracleConnection oracleConnection = (OracleConnection) wrapped.getUnderlyingConnection();
        CallableStatement callableStatement = oracleConnection.prepareCall("{call XXX_Info_Utl_Pkg.get_order_admin(?,?,?,?,?)}");
        callableStatement.setInt(1, Integer.parseInt(orderNumber));
        callableStatement.registerOutParameter(2, OracleTypes.ARRAY, "XXX_INFO_UTL_PKG.SEAGRS_ORDER_REC");
        callableStatement.registerOutParameter(3, OracleTypes.NUMBER);
        callableStatement.registerOutParameter(4, OracleTypes.VARCHAR);
        callableStatement.registerOutParameter(5, OracleTypes.NUMBER);

和甲骨文代码:

PROCEDURE get_order_admin(
            p_order_num_in IN NUMBER,
            p_order_admin_out OUT XXX_info_utl_pkg.seagrs_order_rec,
            p_error_code_out OUT PLS_INTEGER,
            p_error_msg_out OUT VARCHAR2,
            p_ret_status_out OUT PLS_INTEGER);


TYPE seagrs_order_rec
IS
    record
    (
        order_admin        VARCHAR2(10),
        contact_name       VARCHAR2(50),
        contact_email_addr VARCHAR2(100),
        contact_phone_num  VARCHAR2(30));

我在这里面临的错误是 -

Exception : invalid name pattern: XXX_INFO_UTL_PKG.SEAGRS_ORDER_REC

最佳答案

记录类型与 JDBC 驱动程序不兼容:

It is not feasible for Oracle JDBC drivers to support calling arguments or return values of the PL/SQL RECORD, BOOLEAN, or table with non-scalar element types. However, Oracle JDBC drivers support PL/SQL index-by table of scalar element types.

READ THIS

关于java - 我们可以将 Oracle RECORD TYPE 与 java Callable 语句集成吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17339530/

相关文章:

sql - 尝试使用 SQL 从多个表中删除

java - SQLException:java.sql.SQLException:ResultSet 关闭后不允许操作,而 ResultSet 从未关闭

java - SQL 查询的准备语句,错误 DB2 SQL 错误 : SQLCODE=-206, SQLSTATE=42703

java - 自定义适配器以制作具有不同项目的 ListView

java - Java EE 中的用户管理安全性

sql - 如何在 SELECT 语句中使用 BOOLEAN 类型

sql - 如何只允许sql中的某些字符(oracle)

java - PgBouncer 与 WildFly/Application Server 连接池的优势?

java - 在java中提取PDF的页脚数据

java - 像素差