2011-08-23 54 views
1

在Biztalk 2009中,我可以從管理控制檯查看「跟蹤消息事件」。我需要找到一個特定的消息(包含一個特定的字符串在我的身體),我知道抵達的一天,但不是時間。如何在郵件正文中搜索Biztalk中的特定跟蹤消息

我該如何輕鬆解決這個問題? 如果我可以在所有消息上右擊並保存到文件,我可以使用grep來查找消息。但是,您一次只能在一條消息上執行此操作,並且我今天有5188條消息(因此這是不實際的)。 如果在跟蹤的消息事件對話框中有某種方法可以輸入消息標準,我可以輕鬆地做到這一點,但我不相信Biztalk 2009支持這一點。

有沒有辦法使用SQL腳本直接從Biztalk數據庫表中獲取這些信息,還是有另一種簡單的方法來做到這一點,我不知道?

回答

3

然後我首先假設你也跟蹤激活的消息?正如您可能知道的那樣,如果在端口上或在消息傳遞的編排中激活了跟蹤,則實際上BizTalk只會保存消息正文。

但是,如果跟蹤已激活,郵件正文首先保存在BizTalk MessageBox中,然後由跟蹤代理移動到BizTalk中的DTA數據庫 - 詳細描述如here。在DTA數據庫中,郵件正文以壓縮格式保存,並且沒有一種真正的方法可以搜索整個身體以獲取特定的值。

一種方法是使用these methods來提取消息,然後使用其他方式在文件上搜索一次消息,例如。

如果可能的話我會在未來推薦你推廣你想要搜索的值。這將強制將這些值存儲在DTA數據庫中的sperepare字段中,並使它們可供搜索。

+0

非常感謝Riri - 我最終使用了該鏈接中提到的第一種方法(Biztalk對象模型),並修改了代碼以處理GUID列表,而不僅僅是一個。這意味着我可以將列添加到我的HAT結果'MessageInstanceID'中,複製在HAT中返回的結果,將GUID拉入列表中,並使用提到的代碼提取它們。我會考慮推廣一些屬性以幫助未來搜索。 – WiredEarp