DB2 игнорирует ошибки переменной длины
Привет,
Я написал много параметризованных запросов, где параметры вставляются пользователем. Если пользователь вставляет строки длиннее поля, на которое ссылается параметризованное значение, DB2 выдает ошибку SQL0302N.
Есть ли способ избежать этого?
Пример:
Create Table Foo (Code Char(3) Not Null, Descr Varchar(50)); PreparedStatement ps = new PreparedStatement( "Select * From Foo Where Code = ? Or Descr = ?"); ps.setString(1, txtInput.value); ps.setString(1, txtInput.value);
Если параметризованное значение больше 3 символов, то первый параметр вызывает исключение.
Что я уже пробовал:
Использование «= TRIM(?)"или" нравится ?» вместо«= ? " позволяет избежать ошибки.
Но я бы хотел исправить это, изменив строку подключения. Таким образом, я буду уверен, что ошибка больше не возникнет, даже если я забуду исправить некоторые запросы.