Вызов SSIS из оркестрации BizTalk - PullRequest
3 голосов
/ 17 марта 2010

У меня есть сценарий, в котором мне нужно переместить огромное количество данных, и мне нужно использовать BizTalk, чтобы контролировать поток и содержать бизнес-логику. Проблема заключается в том, что BizTalk не сможет обрабатывать объем данных, который необходимо переместить.

Мы решили организовать BizTalk Orchestration, чтобы запустить пакет служб SSIS, который выполняет тяжелую работу. Однако есть предостережение в том, что мы должны иметь возможность передавать информацию в SSIS, такую ​​как местоположение файла и информацию о том, как разбить определенные данные.

У меня вопрос: как лучше всего позвонить в SSIS из оркестрации, учитывая эти параметры? Должен ли я построить веб-сервис вокруг него? Есть ли адаптер или хранимая процедура, которую я могу вызвать? Или есть способ позвонить прямо из оркестровки?

Ответы [ 2 ]

2 голосов
/ 18 марта 2010

Вы можете просто добавить класс C # со статическим методом в ваш проект и вызвать стандартный код для запуска пакета служб SSIS:

http://www.codeproject.com/KB/database/CallSSISFromCSharp.aspx

http://msdn.microsoft.com/en-us/library/ms136090.aspx

Просто вызовите метод из вашей оркестровки.

0 голосов
/ 08 мая 2011

Нам пришлось передать переменные в пакет служб SSIS, чтобы он соотносился с оркестровкой, которая его запустила. Также нам нужно было использовать одну и ту же оркестровку, но она должна запускать разные пакеты служб SSIS в зависимости от места получения.

Мы получили такое решение:

  1. Оркестровка вызывает хранимую процедуру с двумя параметрами: GUID корреляции и местом получения.
  2. Хранимая процедура сохраняет необходимые значения в таблице конфигурации служб SSIS.
  3. Хранимые процедуры вызывают вызовы SQL Agent Agent соответствующим образом
  4. Задание запускает задание SSIS
  5. Задание SSIS успешно завершается или имеет ошибки и записывает результат в файл XML с GUID корреляции.
  6. BizTalk берет файл XML и сопоставляет его с GUID.
  7. BizTalk обрабатывает любую обработку ошибок по мере необходимости.

Наш коллега написал гораздо более подробное объяснение этого решения здесь , для всех, кто заинтересован.

...