У меня возникла проблема с функцией iSeries, из-за которой данные не преобразуются должным образом, поскольку мой профиль пользователя по умолчанию использует CCSID 65535. Я могу изменить задание на CCSID 37, и все работает нормально.
Мне нужно решение, при котором пользователю не нужно менять свойства своего задания.
Функция запускает приложение Java и выглядит следующим образом
CREATE FUNCTION mylib/re_Test2(input VARCHAR(500) CCSID 37,
regex VARCHAR(500) CCSID 37)
RETURNS INTEGER
EXTERNAL NAME 'UDFs.re_Test'
LANGUAGE Java
PARAMETER STYLE Java
FENCED
NO SQL
RETURNS NULL ON NULL INPUT
SCRATCHPAD
DETERMINISTIC
Сначала я попробовал его, не используя CCSID 37, но обнаружил, что некоторые сообщения предполагают, что добавление этого параметра приведет к тому, что любые параметры будут преобразованы в американский английский. Кажется, это не работает для меня.
Есть предложения?
Я попытался запустить из STRSQL и сценария RPGLE, но оба они не работают, однако из SQLSquirrel (программы с открытым исходным кодом SQL, которая использует ODBC) это работает.