Использование BizTalk 2006 для объединения записей - PullRequest
1 голос
/ 17 апреля 2009

У меня есть проблема, которую я пытаюсь решить с помощью BizTalk, и я надеялся, что у вас возникнут мысли о том, как лучше ее решить. Я загружаю в плоский файл, используя адаптер для плоских файлов. Этот файл содержит записи, если количество различных типов. Записи типа 1 являются родительскими записями. Все остальные типы ссылаются на родительские записи с использованием различных внешних ключей. Я ищу разработку преобразования, которое будет принимать сообщение, созданное путем загрузки плоского файла (с записями всех типов), и преобразовывать его в сообщение, являющееся результатом объединения всех записей на основе внешних ключей. Поэтому каждая запись в полученном сообщении будет содержать столбцы всех типов записей, поскольку записи сообщения будут результатом объединения.

Например, плоский файл может содержать следующие записи:

* Type1
* Type1
* Type2
* Type2
* Type3
* Type4
* Type4

Сообщение после преобразования может содержать такие записи:

* Type1 columns, type2 columns, type3 columns, type4 columns
* Type1 columns, type2 columns, type4 columns

Я искал варианты для достижения этой цели, но надеялся, что некоторые люди могли бы посоветоваться о том, как идти.

Вещи, которые я пробовал:

  • Разделение исходного сообщения на сообщения с записями каждого типа с последующим использованием карты с несколькими источниками для их объединения. Мне было трудно этого добиться, так как я не был уверен, какие функтоиды использовать.
  • Вставка дочерних записей в базу данных SQL, чтобы можно было заполнить дополнительные столбцы в родительских записях с помощью функций поиска SQL. Это было немного медленнее, чем я ожидал, и имеет дополнительную зависимость от использования базы данных.
  • Используя DTS для загрузки файла, преобразуйте его в формат и выведите файл в объединенном формате для использования в BizTalk. Это просто и быстро, но не использует BizTalk.

Буду признателен за любые советы о том, как лучше использовать BizTalk для этого.

Ответы [ 2 ]

0 голосов
/ 07 мая 2009

Может быть, вы могли бы попытаться написать собственный xslt для отображения, используя так называемый «метод Мюнхена». Это способ сортировки ввода XML с использованием xslt. Входными данными в этом случае могут быть xml-представление вашего плоского файла, предоставленное BizTalk.

См. Выпуск журнала HotRod за 2 квартал 2009 года по адресу http://biztalkhotrod.com/Documents/BizTalk_HotRod_Issue6_Q2_2009.pdf Эта проблема также затрагивает тему использования пользовательского xslt в BizTalk.

0 голосов
/ 06 мая 2009

Это больше похоже на проблему ETL. Я бы предложил SSIS. Я использовал BizTalk для ETL в прошлом, и он никогда не заканчивался хорошо.

...