【发布时间】:2016-05-21 01:04:56
【问题描述】:
最近收到一个申请: A 通过 MQ 向 T 发送订单。 A 发送的消息使用 CCSID 500。 在 T 端接收订单时,大部分订单都是 CCSID 500 格式。但有些订单的 CCSID 已更改为 1047。 在这种情况下,A-T 接口停止,订单必须手动插入数据库。 你能告诉我们这个CCSID在什么情况下会改变吗?是否可以在 T 或 A 端进行任何配置更改以防止这种情况发生?
【问题讨论】:
标签: ibm-mq
最近收到一个申请: A 通过 MQ 向 T 发送订单。 A 发送的消息使用 CCSID 500。 在 T 端接收订单时,大部分订单都是 CCSID 500 格式。但有些订单的 CCSID 已更改为 1047。 在这种情况下,A-T 接口停止,订单必须手动插入数据库。 你能告诉我们这个CCSID在什么情况下会改变吗?是否可以在 T 或 A 端进行任何配置更改以防止这种情况发生?
【问题讨论】:
标签: ibm-mq
CCSID 由执行 MQPUT 的应用程序设置。 当它为空时,它由底层 MQ 安装填充。 MQGET 应用程序可以设置消息获取选项以将其转换为所需的 CCSID。 知识中心的“应用程序编程参考”的附录中有表格,用于所有可能的翻译。
【讨论】:
如果您正在处理MQFMT_STRING 消息,您应该能够使用GMO_CONVERT,以便所有消息都转换为T 端的CCSID。
您可能会遇到接收方缺少翻译表的问题。签入MQ安装目录/IBM/WebSphere MQ/conv/table。
以下是来自 IBM 的小注释,描述了 EBCDIC 代码页之间的差异:https://www.ibm.com/support/knowledgecenter/SSEPEK_10.0.0/com.ibm.db2z10.doc.char/src/tpc/db2z_codeptdiffebcdic.dita
来源:http://www-01.ibm.com/support/docview.wss?uid=swg27005729
【讨论】: