可调用语句的参数限制-Oracle jdbc驱动程序(Oracle.jdbc.OracleDriver)

可调用语句的参数限制-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创建过

我正在使用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;

您能显示您的代码和完整的错误消息/堆栈跟踪吗?