2013-04-09 169 views
0

如何從MQ.NET訪問隊列管理器的遠程服務器?從MQ.NET訪問遠程MQ服務器

即如果隊列管理器是IBM MQ 7x,我想啓用自動重新連接,如果不是沒有自動重新連接。就像,是否有任何屬性可以找到安裝在遠程服務器上的MQ的版本號?

如果遠程服務器的遠程隊列管理器7倍

var mqQMgr = new MQQueueManager("My queue Manager", MQC.MQCNO_RECONNECT_Q_MGR, "my channel name", "my connection name"); 

其他

var mqQMgr = new MQQueueManager("My queue Manager", "my channel name", "my connection name"); 

回答

1

我不相信這是可能確定隊列管理器的版本,直到你做出後連接。一對夫婦的選擇應該是:

  1. 有用戶設置指定的MQ版本的參數,如果版本是大於或等於7包括MQC.MQCNO_RECONNECT_Q_MGR選項。
  2. 連接到隊列管理器,就好像它正在運行MQ的早期版本一樣,使用mqQMgr.getCommandLevel()確定隊列管理器的版本,然後如果它大於或等於700,請使用MQC.MQCNO_RECONNECT_Q_MGR選項斷開連接並重新連接到隊列管理器。
+0

Paul H-這一個幫助 - mqQMgr.CommandLevel(),但在我連接之前,我不能檢查版本#而不要求用戶配置一個屬性? – Sharpeye500 2013-04-09 18:30:05

+0

@ Sharpeye500當你說配置一個屬性,你是在談論隊列管理器名稱,通道名稱和主機名/端口?如果是這樣,您需要用戶指定這些參數才能連接到隊列管理器,並找出正在運行的版本。 – 2013-04-09 18:56:46

+0

Paul H - 與命令提示符中的dspmqver類似,將生成MQ客戶端的版本信息。與其他任何獲取MQ服務器版本信息的命令類似。 – Sharpeye500 2013-04-09 19:31:04