Как искать в теле сообщения конкретное отслеживаемое сообщение в Biztalk - PullRequest
1 голос
/ 23 августа 2011

В Biztalk 2009 я могу просматривать «Отслеживаемые события сообщений» из консоли администратора.Мне нужно найти конкретное сообщение (содержащее определенную строку в теле), для которого я знаю день прибытия, но не время.

Как я могу легко это сделать?Если бы я мог щелкнуть правой кнопкой мыши и «Сохранить в файл» на всех сообщениях, я мог бы затем использовать grep, чтобы найти сообщение.Тем не менее, вы можете сделать это только для одного сообщения за раз, и у меня есть 5188 сообщений на этот день (так что это не практично).Если бы был какой-то способ ввести критерии сообщения в диалоге отслеживаемых сообщений, я мог бы легко это сделать, но я не верю, что Biztalk 2009 поддерживает это.

Есть ли способ получить эту информацию непосредственно изтаблиц базы данных Biztalk с использованием сценария SQL или есть другой простой способ сделать это, о котором я не знаю?

1 Ответ

3 голосов
/ 23 августа 2011

Сначала я предполагаю, что у вас также активировано отслеживание сообщений? Как вы, вероятно, знаете, BizTalk фактически сохраняет тело сообщения только в том случае, если отслеживание было активировано на портах или в оркестровке, через которую проходят сообщения.

Но если отслеживание активировано, тело сообщения сначала сохраняется в BizTalk MessageBox, а затем агент отслеживания перемещает в базу данных DTA в BizTalk - как подробно описано здесь . В базе данных DTA тело сообщения сохраняется в сжатом формате, и на самом деле нет хорошего способа поиска во всем теле определенного значения.

Одним из способов может быть использование этих методов для извлечения сообщений, а затем использовать другой способ поиска сообщений, например, в файле.

Однако, если возможно, я бы потом рекомендовал вам продвигать ценности, которые вы хотели бы найти. Это заставит значения храниться в специальных полях в базе данных DTA и сделает их доступными для поиска.

...