2013-03-28 726 views
1

我正在使用MQ.NET类,但是当我指定正确的队列管理器时,我仍然遇到以下错误。IBM MQ和.NET中的MQRC_Q_MGR_NAME_ERROR异常

例外:

CompCode:2,原因是:2058 MQRC_Q_MGR_NAME_ERROR 数据:{System.Collections.ListDictionaryInternal}

消息: “MQRC_Q_MGR_NAME_ERROR” 来源: “amqmdnet”

MQQueueManager mqQMgr=null; 
//MYMGRTEST is my queue manager 
mqQMgr = new MQQueueManager("MYMGRTEST"); -> This piece of line throws above exception. 

这可能会发生什么原因(网络许可/管理权限?)?任何措施来纠正这一点?

另外我在websphere的错误文件夹下的错误日志中看到此信息。

AMQ9518:文件 'C:\ Program Files文件(x86)的\ IBM \ WebSphere MQ的\ AMQCLCHL.TAB' 没有找到。

说明: 该程序需要该文件 'C:\程序文件(x86)\ IBM \的WebSphere MQ \ AMQCLCHL.TAB' 存在并且可用。

操作: 这可能是由于可选环境变量 MQCHLLIB,MQCHLTAB或MQDATA的值无效造成的。如果这些变量有效或未设置,则 记录文件的名称并告诉系统管理员必须确保 该文件'C:\ Program Files(x86)\ IBM \ WebSphere MQ \ AMQCLCHL.TAB'可用 该程序。

不知道是什么错误,因为我已经在我的系统中安装了MQ客户端。

回答

3

希望你设置MQEnvironment:

MQEnvironment.channel 
MQEnvironment.port 
MQEnvironment.hostname 

你需要他们设置正确的值。像:

MQEnvironment.hostname="localhost", 
MQEnvironment.port=1414 
MQEnvironment.channel="SYSTEM.DEF.CHANNEL" 
+0

是的工作,谢谢,还设置MQSERVER数据在环境变量和回访代码是传递动态valies主机和通道名称的最佳途径。 (请参阅 - > nmqsput.cs(C:\ Program Files文件(x86)\ IBM \ WebSphere MQ \ tools \ dotnet \ samples \ cs \ base)。 – Sharpeye500 2013-03-28 17:13:20