SimpleJdbcCall пропуская первый входной параметр - PullRequest
0 голосов
/ 09 марта 2019

Я выполняю следующий код:

simpleJdbcCall.withSchemaName("SCHEMA_NAME") .withProcedureName(storedProcdure) .addDeclaredParameter( new SqlParameter("INPUT_PARAMS",Types.LONGNVARCHAR));

// Creating String of input numbers
if (!loanNumbers.isEmpty()) {
    for (String str : paramsList)
        finalInput = finalInput + str + ";";
    finalInput = finalInput + "'";
}
// Preparing map of input params for Stored Procedure
inputParams.put("INPUT_PARAMS", finalInput);
log.info("Input params for Stored Procedure :"+finalInput);

//Input Prepared and finally calling Stored Procedure
SqlParameterSource in = new MapSqlParameterSource(inputParams);
Map<String, Object> resultSet= simpleJdbcCall.execute(in);

Если FinalInput имеет только одно значение, т.е.'123467', SimpleJdbcCall пропустит эти первые параметры, и я не получу никакого результата.Если я запускаю один и тот же SP в любой IDE для того же параметра, я получу результат.

Если у него более двух параметров, например, «123467; 98768», он пропустит первые параметры (123467)и дайте результат для 98768.

В чем причина такого поведения и как мы можем это исправить.

...