Я внедрил sql-запрос к iseries в программу Java, которая выдает следующую ошибку:
"[SQL0332] Character conversion between CCSID-id 1156 and 278 is not possible.".
Я столкнулся с этой проблемой только с одной библиотекой, но не со всеми.
Рабочий запрос:
select * from SRBKTO where KOACNO=721
Нерабочий запрос:
select * from SRBKTO where KOACNO= '721' (This works for other libraries)
Если я попытаюсь выполнить запрос с условным предложением с кавычками (тип String или int), выдается ошибка.
Я не очень хорошо разбираюсь в iSeries. Я понял, что существует проблема преобразования символа " ' "
(на данный момент, я думаю, только для этого символа) из CCSID 1156 в 278.
Я попробовал java API com.ibm.as400.access.AS400.setCcsid(1156) из jt400native jar, чтобы установить исходный CCSID для объекта соединения, что ни к чему не привело. Требуется ли изменить целевой CCSID? Может ли кто-нибудь предложить способ решить эту проблему?