我正在使用用C#编写的SSIS脚本任务写入IBM WebSphere MQ队列。目前我们使用几个简单的循环来将我们需要的信息收集到Dictionary对象中,然后将这些项目逐个放入队列中。但是,我们现在正在从SQL数据库中提取数据,并且需要将这些更新设置为原子数据库。更新到WebSphere MQ队列原子
这里是用来将信息添加到字典
//add to list so we can weed out the duplicates
if (!qContents.ContainsKey(retrievedMessage.Substring(0, 13)))
{
qContents.Add(retrievedMessage.Substring(0, 13), retrievedMessage);
}
的代码,这里就是它们被添加到队列中。 MqPut方法用于将每个项目单独发送到队列。
//write out unique agent ids to consolidated queue
foreach (string agentItem in qContents.Values)
{
MqPut(agentItem, _outputQueue);
}
的整个代码块包装在一个try/catch/finally块,所以我敢肯定,我将不得不利用,不知怎的,但是我很新的WebSphere MQ和不知道如何。谢谢!
编辑 使用下面答案中的代码会导致异常被抛出。一旦程序到达MQMessage对象的“put”方法,就会引发MQ异常“MQRC_FUNCTION_NOT_SUPPORTED”。这是_COMPlusExceptionCode = -532459699
这是我们自己的方法。 – NealR 2012-08-14 15:27:33