As400Text类vs MQC.MQGMO_CONVERT

时间:2015-04-05 18:45:39

标签: java ibm-mq mq

如果我们已经有As400Text选项来处理这个问题,为什么有些人更喜欢使用MQC.MQGMO_CONVERT对象来处理EBCDIC / ASCII转换(带有IBM MQ jar的Java代码)?

我的要求是在我正在进行的PUT操作期间通过将字符集设置为37并将写入格式设置为“STRING”并使用MQC.MQGMO_CONVERT选项自动转换ASCII-> EBCDIC在GET操作期间转换EBCDIC - > ASCII。

使用转换选项是否有任何挫折?如果这不是100%安全的选择,请问有谁可以告诉我吗?

1 个答案:

答案 0 :(得分:2)

最佳做法是在本地代码页中编写MQ消息(通常将CCSID和编码自动填充为正确的值)并设置“格式”字段。然后,getter将使用MQGMO_CONVERT来请求CCSID中的消息和他们需要的编码。

使用转换获取是安全的,并且只要您提供正确的CCSID a和描述该消息的编码,它就是正确的。

在您在问题中所做的描述中,您在放置消息之前从ASCII-> EBCDIC转换,然后getter从MQGET上的EBCDIC-> ASCII转换。这意味着您已经支付了两次数据转换操作,当您没有完成时(或两个不同的ASCII,只有一个)。