Хобрук: Ваш путь к мастерству в программировании

Использование SimpleJdbcCall для вызова хранимой процедуры с необязательными параметрами не работает

У меня есть следующий список параметров в моей хранимой процедуре:

@ContractAgreement VARCHAR(100) = '1 Month',
@val1 VARCHAR,
@val2 VARCHAR

У меня есть следующая конфигурация SimpleJdbcCall:

SimpleJdbcCall jdbcCall = new SimpleJdbcCall(dataSource)
    .withProcedureName(getProcedureName())
    .returningResultSet(RESULT_SET, rowMapper)
    .useInParameterNames("val1", "val2");

final MapSqlParameterSource param = new MapSqlParameterSource();
    param.addValue("val1", "test1").addValue("val2", "test2");

jdbcCall.execute(param)

Это приводит к следующей ошибке:

com.microsoft.sqlserver.jdbc.SQLServerException: процедура или функция «njtest» ожидает параметр «@val2», который не был предоставлен.

Но если я удалю параметр «@ContractAgreement» из хранимой процедуры, он будет работать нормально.

Любые предложения, пожалуйста?



Новые материалы

Основы принципов S.O.L.I.D, Javascript, Git и NoSQL
каковы принципы S.O.L.I.D? Принципы SOLID призваны помочь разработчикам создавать надежные, удобные в сопровождении приложения. мы видим пять ключевых принципов. Принципы SOLID были разработаны..

Как настроить Selenium в проекте Angular
Угловой | Селен Как настроить Selenium в проекте Angular Держите свое приложение Angular и тесты Selenium в одной рабочей области и запускайте их с помощью Mocha. В этой статье мы..

Аргументы прогрессивного улучшения почти всегда упускают суть
В наши дни в кругах веб-разработчиков много болтают о Progressive Enhancement — PE, но на самом деле почти все аргументы с обеих сторон упускают самую фундаментальную причину, по которой PE..

Введение в Джанго Фреймворк
Схема «работать умно, а не усердно» В этой и последующих статьях я познакомлю вас с тем, что такое фреймворк Django и как создать свое первое приложение с помощью простых и понятных шагов, а..

Настольный ПК как «одно кольцо, чтобы править всеми» домашних компьютеров
Вид после 9 месяцев использования С настольных компьютеров все началось, но в какой-то момент они стали «серверами», и мы все перешли на ноутбуки. В прошлом году я столкнулся с идеей настольных..

Расширенные методы безопасности для VueJS: реализация аутентификации без пароля
Руководство, которое поможет вам создавать безопасные приложения в долгосрочной перспективе Безопасность приложений часто упускается из виду в процессе разработки, потому что основная..

стройный-i18следующий
Представляем стройную оболочку для i18next. Эта библиотека, основанная на i18next, заключает экземпляр i18next в хранилище svelte и отслеживает события i18next, такие как languageChanged,..