可调用语句的参数限制-Oracle jdbc驱动程序(Oracle.jdbc.OracleDriver)
我正在使用IBMMessageBroker,v8.0.0.2。我试图调用一个包含45个参数的存储过程,输入和输出。我使用Oracle jdbc驱动程序Oracle.jdbc.OracleDriver。事实证明,每当我尝试设置第45个IN或out参数时,我都会得到一个“Invalid column index”SqlException,这很奇怪。有这样的限制吗 给我们您创建的代码和异常列表中的异常,顺便说一句,使用SQL Developer或您当时使用的任何编辑器测试存储过程。。使用ESQL创建过程并调用数据库存储过程可调用语句的参数限制-Oracle jdbc驱动程序(Oracle.jdbc.OracleDriver),jdbc,oracle11g,messagebroker,Jdbc,Oracle11g,Messagebroker,我正在使用IBMMessageBroker,v8.0.0.2。我试图调用一个包含45个参数的存储过程,输入和输出。我使用Oracle jdbc驱动程序Oracle.jdbc.OracleDriver。事实证明,每当我尝试设置第45个IN或out参数时,我都会得到一个“Invalid column index”SqlException,这很奇怪。有这样的限制吗 给我们您创建的代码和异常列表中的异常,顺便说一句,使用SQL Developer或您当时使用的任何编辑器测试存储过程。。使用ESQL创建过
CREATE PROCEDURE YourProcedureName(IN PARAM1 TYPE, IN PARAM2 TYPE,...,
OUT PARAM44 TYPE, INOUT PARAM45 TYPE)
LANGUAGE DATABASE DYNAMIC RESULT SETS 1 EXTERNAL NAME "ProcedureNameInDB";
主要功能
CREATE FUNCTION Main() RETURNS BOOLEAN
BEGIN
--CopyMessageHeaders();
--CopyEntireMessage();
-- DECLARE HERE PARAMETERS FOR THE PROCEUDRE
-- In This Block Declare the 45 parameters for passing them in ESQL Procedure.
-- Then ESQL will pass them to Oracle Stored Procedure.
-- END DECLARE PARAMETERS FOR THE PROCEUDRE
-- Environment.DBRowSetResult: Storing Stored Procedure Output in Environment variable.
CALL YourProcedureName(param1, param2, .... param44,param45, Environment.DBRowSetResult);
END;
您能显示您的代码和完整的错误消息/堆栈跟踪吗?