У меня есть java код для выполнения процедуры сохранения, как показано ниже:
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = {SQLException.class, Exception.class })
public void executeSPForInsertData(DataSource ds,String procedureName,Map<String, Object> inputParameter){
//PARAMS.PKG_PARA_UPLD_VAL.PR_SP_FAHMI
String[] inParam = inputParameter.keySet().toArray(new String[0]);
SqlParameterSource in = new MapSqlParameterSource().addValue("P_T_TABLE_UPLD_EXCEL",inputParameter);
SimpleJdbcCall jdbcCall = new SimpleJdbcCall(paramsDataSourceBean)
.withProcedureName(procedureName);
String[] path = procedureName.split(".");
if (path.length >= 2) {
jdbcCall.withSchemaName(path[0]);
jdbcCall.withCatalogName(path[1]);
jdbcCall.withProcedureName(path[2]);
}
Map<String,Object> outputParameter = jdbcCall.execute(in);
}
При запуске появляется эта ошибка
org.springframework.dao.InvalidDataAccessApiUsageException: Unable to determine the correct call signature for PARAMS.PKG_PARA_UPLD_VAL.PR_SP_FAHMI - package name should be specified separately using '.withCatalogName("PARAMS")'