Oracle 10G JDBC下,无法使用命名的输出参数来调用存储过程,只能用数字索引式的参数。这是我程序的问题还是真的原来就不支持呢?调用CallableStatement.registerOutParameter("name",Types.VARCHAR)后,CallableStatement.Execute()总是会提示出错,用数字索CallableStatement.registerOutParameter(3,Types.VARCHAR)这样就可以正常调用。vSQL = "call PKG_Test.test(:P_ORDER_ID,:P_SIGN,:P_MESSAGE)";
vProc = vConn.prepareCall(vSQL);
vProc.setDouble("P_ORDER_ID", vNewData.getOrder_id());
vProc.setDouble("P_SIGN", vSign);
vProc.registerOutParameter("P_MESSAGE", Types.VARCHAR);
vProc.execute(); //这里会出错
vProcResult = vProc.getString(3);