打开队列管理器名称时遇到错误 = .... 原因代码 = 2354

Posted

技术标签:

【中文标题】打开队列管理器名称时遇到错误 = .... 原因代码 = 2354【英文标题】:Error encountered on opening Queue Manager name = .... Reason code = 2354 【发布时间】:2022-01-09 03:17:09 【问题描述】:

首先:我有两个 BizTalk 应用程序。第一个从 SQL 服务器轮询并发送到 MQ 队列,工作正常。第二个处理文件并使用动态发送端口。在编排中,我更新了 TOMQ(Microsoft.XLANGs.BaseTypes.Address)= QueuePath; TOMQ(Microsoft.XLANGs.BaseTypes.TransportType)="MQSeries"; 它抓取文件,处理它,将结果发送到输出目录。 (这很好用。)然后到 MQ。 MQ 抛出错误:打开队列管理器名称时遇到错误 = ...。原因代码 = 2354。 我检查了它正在获取正确的队列路径,但失败了。任何人都有任何建议。我已经检查了所有我能想到的。

【问题讨论】:

也许这会有所帮助azurebiztalkread.wordpress.com/2018/03/31/… 已经点击了那个页面。就像我说的,我有另一个应用程序可以很好地访问 MQ。当我在这个应用程序中将端口更改为静态端口时,它也可以很好地访问 MQ。但感谢您的帮助。 更新:我在动态发送端口之前添加了一个静态端口也将发送到 MQ,并将来自静态端口的消息写入 MQ。仔细检查 TOMQ(Microsoft.XLANGs.BaseTypes.Address)= QueuePath; 的值和我的交通设置一样正确。任何人都知道我还会看什么。 你能比较一下静态端口和动态发送端口上消息的属性吗? 不,静态端口允许您将“支持的事务”设置为 false,这允许它通过。动态端口只有on设置,用于设置适配器。 【参考方案1】:

我在这篇文章中回答了这个问题:I have a BizTalk application with a dynamic send port that is set to "MQSeries". Can I programmatically set its properties?

基本上,我必须创建我的消息的副本,并将 MQSeries.dll 添加为对我的项目的引用。然后我像这样设置属性。

  DBMSGMQ = DBMSGOUT;
  DBMSGMQ(MQSeries.TransactionSupported)="False";

【讨论】:

以上是关于打开队列管理器名称时遇到错误 = .... 原因代码 = 2354的主要内容,如果未能解决你的问题,请参考以下文章

列出队列管理器上的所有队列

IBM MQ 从接收通道获取数据

确定访问我们本地队列的远程 MQ 队列管理器

打开虚拟机出现这个错误?

ArcGIS安装时许可管理器无法启动如何解决

SQL Server2008打开时遇到的问题:“请验证实例名称是不是正确并且SQL Server已配置为允许远程连接”。