Ibm mq 从DB2获取数据时MessageBroker中的不可转换字符

Ibm mq 从DB2获取数据时MessageBroker中的不可转换字符,ibm-mq,Ibm Mq,我们开发了一个流,它在从DB2存储过程获取数据后进行转换。在wmb v7.0.0.5的MAPPING节点中进行转换时,我们遇到了这个不可转换的可恢复异常。如何避免发生此异常 默认情况下,您的经纪人的CCSID为819。但是,我怀疑您发布的消息中有一些CCSID 819不支持的字符 要解决此问题,可以将MQMD.CCSID设置为1208,如下所示: SET OutputRoot.MQMD.CodedCharSetId = 1208; 然而,我在发布节点上遇到了另一个问题。发布节点在发布之前尝试

我们开发了一个流,它在从DB2存储过程获取数据后进行转换。在wmb v7.0.0.5的MAPPING节点中进行转换时,我们遇到了这个不可转换的可恢复异常。如何避免发生此异常

默认情况下,您的经纪人的CCSID为819。但是,我怀疑您发布的消息中有一些CCSID 819不支持的字符

要解决此问题,可以将MQMD.CCSID设置为1208,如下所示:

SET OutputRoot.MQMD.CodedCharSetId = 1208; 
然而,我在发布节点上遇到了另一个问题。发布节点在发布之前尝试将消息转换为队列管理器的CCSID。因此,如果队列管理器的CCSID为819(低于1208的CCSID),并且发布节点尝试转换消息(包含CCSID 819不支持的特殊字符),则将引发异常(不可转换字符)。 上述情况也适用于映射节点。要解决此问题,请尝试以下设置:

SET OutputRoot.MQRFH2.(MQRFH2.Field)NameValueCCSID = 1208;  
SET OutputRoot.Properties.CodedCharSetId = 1208;
如果你能找到线索,那么确切的原因就很清楚了