MQ EOL 数据转换

Posted

技术标签:

【中文标题】MQ EOL 数据转换【英文标题】:MQ EOL Data conversion 【发布时间】:2010-01-22 14:50:22 【问题描述】:

我们正在通过 MQ 从 z/OS/CICS 系统向 AS400 发送数据。

消息的原始编码是具有 MQSTR 格式的 CCSID 500。客户端应用程序正在获取带有 CONVERT 选项和 CCSID 819 的消息。

数据几乎被正确转换,除了行尾字符。任何的想法? z/OS 正在发送 0D (CR) 作为行尾字符。如果他们有 0D+0A (CR+LF),CCSID 会自动从 500 更改为 437,并且行尾仍然不在客户端。

【问题讨论】:

【参考方案1】:

您是否已经只尝试过“0A”(LF)?您是否尝试过没有显式转换?我们在这部分转换中从来没有遇到过任何问题,我们的机器可以与 Windows、AIX、Linux 等进行通信。我们几乎一直都依赖自动转换。

此外,您可能希望检查从队列中选择 MQ 消息的作业的用户。大多数时候 USER 使用系统属性(在适当的 SYSVAL 中定义)。也许这个用户配置文件已经被配置得非常具体,并且与阻止 iSeries 进行正确的自动转换的 SYSVAL 不同。

作为一个简单的测试,将您的数据通过 FTP 传输到 iSeries。这也将强制使用系统表 (WRKTBL) 进行自动转换。这可能表明该配置存在错误。

【讨论】:

【参考方案2】:

我们遇到了队列管理器的 CCSID 设置不正确以及使用了错误的转换表的问题。

【讨论】:

以上是关于MQ EOL 数据转换的主要内容,如果未能解决你的问题,请参考以下文章

为什么dom4j文档对象将XML EOL r n转换为 n

如何使用 MQ 的 esql 将日期的特定时区转换为 GMT 时区?

一次性更改多个文件的 EOL

Amazon MQ 将 AMQP 消息转换为 JMS

fixLength编码转换

电子邮件和 ftp 文本消息之间的大小差异 - EOL 字符?