问题描述
简单点描述:WIN8.1系统没有用户组概念,而MQ7.0以后的版本都有很严格的权限认证,导致我在程序中连接MQ的时候会提示2035的错误,应该是权限不足,我就一个用户是属于管理员,怎么运行cmd都不是管理员身份,居然没有runmqsc的权限,不过使用管理员运行cmd是可以运行runmqsc了但是程序里面通过服务器连接通道还是连不了,说要把用户加入mqm用户组还是授权啥的,WIN8。1根本就没有用户组这个概念,请问怎么用java连接呢?具体描述如下:PS:最近下了个MQ用来传输测试,但是遇到一个头疼的问题,在面向java编程的借口下只是才测试连接(接受,发送还没开始弄)就报错,经各种调试修正后,报错如下:MQJE001:完成代码为'2',原因为'2035'。com.ibm.mq.MQException:MQJE001:完成代码为'2',原因为'2035'。atcom.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:247)atcom.ibm.mq.MQClientManagedConnectionFactoryJ11._createManagedConnection(MQClientManagedConnectionFactoryJ11.java:588)atcom.ibm.mq.MQClientManagedConnectionFactoryJ11.createManagedConnection(MQClientManagedConnectionFactoryJ11.java:630)atcom.ibm.mq.StoredManagedConnection.<init>(StoredManagedConnection.java:107)搜了一下,2035基本可以确认为此用户没有连接权限有查询到如下的解决办法:((((用的用户没有权限造成的。解决办法有两种:方法1:假如在服务器端的服务连接通道定义中设置MCAUSER属性的值为MUSR_MQADMIN:(下例中假设通道定义名为DT_SERVER_CHL)ALTERCHANNEL(DT_SERVER_CHL)CHLTYPE(SVRCONN)MCAUSER("MUSR_MQADMIN")一定要确保MUSR_MQADMIN用户为mqm组的成员,具体办法随MQ服务器所在的操作系统而定,在此就不再赘述。方法2:若保持MQ服务器端的通道定义的MCAUSER属性值为缺省值,即为空,则可将MQ客户端所使用的用户添加到MQ服务器所在的操作系统中。例如,若MQ客户端使用的用户为ADMIN,则在MQ服务器端添加用户ADMIN,并保证此用户在MQ服务器端的mqm组中,以及有执行队列管理器上的操作所必需的权限。这两种办法我都试了,都可以。还有一种方案:找到mq的安装目录下的bin目录,在cmd环境下执行命令runmqsc然后执行命令alterqmgrchlauth(disabled)把权限验证下掉就可以了))))以上的解决方法第一种告诉我语法错误,第二种,没有用户组概念,第三种运行成功了,但是程序还是报错。
解决方案
解决方案二:
这东西是收费的,一般人也用不到,如果是购买的直接打电话问吧,服务很好!