2014-09-22 70 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時沒有缺點,它只是一個無操作。但是當你需要它時,不要使用它。