我正在使用用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