【问题标题】:Using default CCSID for WebSphere MQ in Linux connected to client Application in Windows在 Linux 中使用默认 CCSID 连接到 Windows 中的客户端应用程序的 WebSphere MQ
【发布时间】:2014-12-08 14:30:23
【问题描述】:

我有两个应用程序 A 和 B。应用程序 A 将消息放入 QMA,这是一个默认 CCSID 为 1208 的 Linux 队列管理器。QMA 将消息发送到 QMB,它是一个默认 CCSID 为 437 的 Windows 队列管理器。应用程序 B 使用来自QMB。一切都很好。 然后我将 Windows 队列管理器 QMB 迁移到 Linux 平台,并将 CCSID 更改为默认 1208。App B 开始收到与数据相关的问题。然后我将 Linux 平台中的 QMB 使用 CCSID 更改为 437,之后 App B 没有发现任何数据问题。

我是一名 MQ 管理员,当 MQ 服务器中没有启用数据转换属性时,我不太了解在 MQ 服务器中定义的 CCSID 对客户端应用程序的真正重要性。

我的理解是队列管理器 CCSID 应该是基于所使用平台的默认值,并且永远不需要更改。帮助我更好地理解?

【问题讨论】:

    标签: linux windows ibm-mq data-conversion


    【解决方案1】:

    您是正确的,在 MQ 服务器上定义的 CCSID 对应用程序(无论是客户端还是其他应用程序)并不重要。这是因为应用程序应该做的是使用 MQGMO_CONVERT 在 MQGET 上请求其消息。

    听起来您设置中的应用程序依赖于正确的消息代码页以及他们需要从推杆获得什么,并且他们没有使用 MQGMO_CONVERT。

    MQGMO_CONVERT 应始终用于应用程序,即使最初不需要它,因为推杆和吸气器使用相同的代码页。这是因为,最终该应用程序将传播或移动,然后当您确实需要它时,您必须返回并更改应用程序。在不需要时使用 MQGMO_CONVERT 没有缺点,它只是一个无操作。但是当你确实需要它时不使用它有一个缺点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-22
      • 1970-01-01
      • 2011-11-02
      • 2017-04-30
      • 2013-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多