2013-04-09 166 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