当我尝试从我的java类调用存储过程时,我收到错误ordinal binding and named binding cannot be combined
。
我的存储过程将返回一些记录列表
以下是我的java代码:
CallableStatement callableStatement = null;
dbConnection = getDBConnection();
callableStatement = (CallableStatement) dbConnection.prepareCall("{call UPDATE_RQST_STATUS_SP(?)}");
callableStatement.registerOutParameter(1, OracleTypes.CURSOR);
callableStatement.execute();
答案 0 :(得分:1)
您的代码似乎很好。
但我担心早期的oracle驱动程序中存在一些错误。
您应该升级到10.1.0.3或更高版本的JDBC驱动程序。
答案 1 :(得分:0)
尝试按如下方式调用存储过程,并确保使用Oracle的最新JDBC驱动程序。
callablestatement =
connection.prepareCall("begin ? :=UPDATE_RQST_STATUS_SP(?); end;");
callablestatement.registerOutParameter(1, OracleTypes.CURSOR);
callablestatement.execute();
resultSet = ((OracleCallableStatement)callablestatement).getCursor(1);
Oracle Documentation关于从Java调用PLSQL过程或函数