私はSpring JDBCの新機能です。私は3つのJUnitテストを持っていますが、共有データはありません(前/後のメソッドは、独自のデータファイルに独自のデータが必要です)。Springでストアドプロシージャを呼び出すときのJUnitテストに失敗しました
これらの各テストでは、パッケージ内のストアドプロシージャが呼び出されます。私がテストを実行する場合は、個別にそれらのすべてに合格したが、3つすべてを実行し、いずれかに障害が発生した:(私はクラスに失敗1つの変更をテストの順序を変更した場合)
をストアドプロシージャへの呼び出しは、春のJDBCは、使用しています。
によって引き起こさ:org.springframework.jdbc.BadSqlGrammarException: CallableStatementCallback以下
SimpleJdbcCall callProcedure = new SimpleJdbcCall(jdbcTemplate) .withCatalogName("ADMIN.CALCULATE") .withProcedureName("GET_TOTALS") .useInParameterNames("account_no", "request_list") .withoutProcedureColumnMetaDataAccess() .declareParameters( new SqlParameter("account_no", Types.INTEGER), new SqlParameter("request_list", OracleTypes.ARRAY, "ADMIN.CALC_REQUEST_TAB"), new SqlOutParameter("response_list", OracleTypes.ARRAY, "ADMIN.CALC_RESPONSE_TAB")); callProcedure.compile(); Map<String, Object> inputParams = new HashMap<String, Object>(); // set StructDescriptor and ArrayDescriptor genericTypeDTO.setStructDescriptorName("ADMIN.T_CALC_REQUEST_TYPE"); genericTypeDTO.setArrayDescriptorName("ADMIN.CALC_REQUEST_TAB"); inputParams.put("account_no", accountNo); inputParams.put("clawback_list", genericTypeDTO); Map<String, Object> outData = (Map<String, Object>) callProcedure.execute(inputParams);
は、テストのいずれかのcallProcedure.execute(inputParams)を打ったときにスローされる例外です;悪いSQL文法[{ ADMIN.CALCULATE.GET_TOTALS(?、?、?)}]; ORA-06533:数ORA-06512を超えた添字: "ADMIN.CALCULATE" で、行2160 ORA-06512:ネストされた例外が ます。java.sql.SQLExceptionあるライン1
で何かアドバイスをいただければ幸いです。