2014-09-22 138 views
1

我有两个应用程序A & B.应用程序将消息放入QMA中,该QMA是具有默认CCSID 1208的Linux队列管理器.QMA将消息发送到QMB,具有默认CCSID 437的Windows队列管理器。应用程序B使用来自QMB的消息。一切安好。 然后,我将Windows队列管理器QMB迁移到Linux平台,并将CCSID更改为默认值1208.应用程序B开始获取与数据相关的问题。然后我改变了Linux平台上的QMB,使用CCSID为437,之后App B没有看到任何数据问题。使用默认CCSID在Linux中连接到客户端的Linux中的WebSphere MQ

我是MQ管理员,并且对MQ服务器中未启用数据转换属性时MQ客户机应用程序中定义的CCSID如何确实非常重要。

我的理解是队列管理器CCSID应该是基于所用平台的默认设置,从不需要修改。帮助我更好地理解?

回答

3

在MQ服务器上定义的CCSID对应用程序(客户端或其他应用程序)无关紧要。这是因为应用程序应该所做的是使用MQGMO_CONVERT在MQGET上请求其消息。

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

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

相关问题