.Net环境下操作IBM WebShpere MQ

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 10:34 点击:

本人在用C#连接UNIX下的Websphere时,总是会有代号2059的错误。但本人在测试环境下,用的是windows安装环境下的Websphere没有错误,百思不得其解,后看到此文,发现要设置一下环境变量,(由于Queue Manager的CCSID使用819,故增加系统的环境变量),后来成功。
转发此文。
.Net环境下操作IBM WebShpere MQ
大约在两年前项目使用了IBM MQ,本人积累了部分在.Net环境下操作IBM MQ的经验。现将经验与大家分享。
IBM WebShpere MQ 简单介绍:
具体的详细信息大家可以在IBM的网站和网上有许多的学习资料。
IBM MQ是实现了消息队列的一个中间件,它可以运行在现在所有流行的平台上。在我们的项目中主要使用的是AS400和UNIX平台上。
在IBM MQ中主要分为以下几个对象:
Queue Manager
队列管理器
主要负责管理队列、通道等,类似与Oracle中的Oracle实例的概念,在一台服务器中可以定义多个Queue Manager。
Queue
队列
是存放Message的对象,是我们主要操作的对象。类似与Oracle中的表的概念。
Message
消息
实际放入Queue中的消息,该消息可以存储字符串、Stream等对象。
Channel
通道
是我们的应用以及两个Queue Manager操作的链接对象
Process
过程
Queue的分类:
Local Queue
本地队列
主要存储消息的对象
Remote Queue
远程队列
和另外一个Queue Manager通讯的队列
Mode Queue
模板队列
建立一个队列模板,通过这个模板可以建立与模板相同属性的动态队列。
Dynamic Queue
动态对了(临时队列)
可以在程序中创建和删除的临时队列
Channel类型:
在我们介绍中只使用了类型为SVRCONN的通道。
.Net连接Queue Manager的关键要素:
.Net的程序需要以下几个关键要素才能连接的一个Queue Manager上。
1、 Address & Port
MQ的服务器地址以及要连接的Queue Manager的监听端口,默认端口1414。
2、 Queue Manager Name
要连接的Queue Manager的名字,区分大小写,默认全部大写。
3、 Channel Name
SVRCONN类型的Channel的名字,需要注意的是该Channel的属性MCAUSER必须设置为一个足够权限的系统用户,否则不能连接成功。
4、 CCSID
CCSID是Queue Manager的编码字符集,需要Queue Manager的CCSID与你的.Net操作系统的CCSID互相兼容或者一致才能成功连接。默认情况下UNIX平台的Queue Manager的CCSID为819,而简体中文版的Windows的CCSID为1381。这两个编码字符集是不能兼容的,所以需要调整。
调整有两种方式:
1) 调整Queue Manager的CCSID,调整成与1381兼容的即可,不一定需要调整成1381
2) 在不能调整Queue Manager时需要配置Windows的环境变量,在Windows的环境变量中增加MQCCSID的环境变量,值需要与Queue Manager的CCSID一致或兼容。
在我们介绍的例子中使用环境如下:
Server:Sun OS 5.9
Address
192.168.128.115
Port
1414(默认端口)
Queue Manager Name
SGS.MGR
Channel Name
SGS.CHANNEL
Queue Manager的属性如下(注意红色部分):
Display Queue Manager details.
DESCR( ) DEADQ( )
DEFXMITQ( ) CHADEXIT( )
CLWLEXIT( ) CLWLDATA( )
REPOS( ) REPOSNL( )
COMMANDQ(SYSTEM.ADMIN.COMMAND.QUEUE) QMNAME(SGS.MGR)
CRDATE(2007-04-02) CRTIME(16.24.23)
ALTDATE(2007-04-02) ALTTIME(16.24.23)
QMID(SGS.MGR_2007-04-02_16.24.23) TRIGINT(999999999)
MAXHANDS(256) MAXUMSGS(10000)
AUTHOREV(DISABLED) INHIBTEV(DISABLED)
LOCALEV(DISABLED) REMOTEEV(DISABLED)
PERFMEV(DISABLED) STRSTPEV(ENABLED)
CHAD(DISABLED) CHADEV(DISABLED)
CLWLLEN(100) MAXMSGL(4194304)
CCSID(819) MAXPRTY(9)
CMDLEVEL(510) PLATFORM(UNIX)
SYNCPT DISTL(YES)
Channel的属性如下(注意红色部分):
Display Channel details.
CHANNEL(SGS.CHANNEL) CHLTYPE(SVRCONN)
TRPTYPE(TCP) DESCR( )
SCYEXIT( ) MAXMSGL(4194304)
SCYDATA( ) HBINT(300)
MCAUSER(mqm) ALTDATE(2007-04-02)
ALTTIME(16.30.23)
SENDEXIT( )
RCVEXIT( )
SENDDATA( )
RCVDATA( )
由于Queue Manager的CCSID使用819,故增加系统的环境变量:


环境准备:
1、 安装IBM WebSphere MQ Client for Windows。(MQ客户端)
2、 安装WebSphere MQ c

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • 浅析.NET下XML数据访问新机制
      • asp.net 面试+笔试题目第1/2页
      • C# 邮件地址是否合法的验证
      • C#高级编程:数据库连接[1]
      • asp.net 设置GridView的选中行的实现代码
      • 经典C++程序1
      • IIS 自动回收导致后台定时器失效的问题解决
      • ASP.NET GridView列表代码示例
      • 微软ASP.NET站点部署指南(3):使用Web.Config文件的Transforma
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1