RECORD類型是否與JDBC不兼容?正在使用的驅動程序OJDBC6.jar我們可以將Oracle RECORD TYPE與Java Callable語句集成嗎?
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));
現在所面臨這裏的錯誤是 -
異常:無效的名稱模式:XXX_INFO_UTL_PKG.SEAGRS_ORDER_REC
你能發佈完整的錯誤堆棧嗎? – user75ponic
14:53:47,546錯誤[com.commands.RecRetOrderAdminInfoCmd](http-/0.0.0.0:8080-1)EXCEPTION OCCURED ::方法名稱:execute,異常:無效名稱模式:XXX_INFO_UTL_PKG.XXX_ORDER_REC 14:53:47,562 ERROR [com.daos.ReceivingServiceDAO](http-/0.0.0.0:8080-1)異常發生:ReceivingServiceDAO,方法名稱:getOrderAdminInfo – musicar
您的'seagrs_order_rec'是什麼'type'?數組或對象或表格? – user75ponic