MQ EOL Преобразование данных - PullRequest
0 голосов
/ 22 января 2010

мы отправляем данные через MQ из системы z / OS / CICS на AS400.

Исходная кодировка сообщения - CCSID 500 с форматом MQSTR. Клиентское приложение получает сообщение с опцией CONVERT и CCSID 819.

Данные почти правильно преобразованы, за исключением символа конца строки. Любая идея? Z / OS отправляет 0D (CR) в качестве символа конца строки. Если у них было 0D + 0A (CR + LF), CCSID автоматически изменится с 500 на 437, и конец строки все еще будет не на стороне клиента.

Ответы [ 2 ]

1 голос
/ 22 января 2010

Вы уже пробовали только "0A" (LF)? Вы пробовали без явного CONVERT? У нас никогда не было проблем с этой частью преобразования, и наша машина общается с Windows, AIX, Linux и так далее. Почти все время мы полагаемся на автоматические преобразования.

Кроме того, вы можете проверить ПОЛЬЗОВАТЕЛЯ вашей работы, который выбирает сообщение MQ из очереди. В большинстве случаев ПОЛЬЗОВАТЕЛЬ использует системные атрибуты (как определено в соответствующем SYSVAL). Может быть, этот профиль пользователя был настроен очень специфично и отличается от SYSVAL, который останавливает iSeries при выполнении правильного автоматического преобразования.

В качестве простого теста отправьте свои данные по протоколу FTP на сервер iSeries. Это также приведет к автоматическому преобразованию с использованием системных таблиц (WRKTBL). Это может показать ошибку в этой конфигурации.

0 голосов
/ 16 июня 2010

У нас была проблема с неверным заданием CCSID администратора очередей и использованием неверной таблицы преобразования.

...