Многоадресная рассылка служб SSIS - дождитесь завершения одной развилки перед выполнением следующей развилки - PullRequest
7 голосов
/ 07 февраля 2009

У меня есть объект SSIS Mulitcast, который разделяет мой поток на 2 пути.

По первому пути я вставляю поток в другую базу данных.

Во втором пути я обновляю строки потока, чтобы показать, что они были вставлены.

Мне нужен способ заставить один путь ждать, пока другой путь не закончится. (Поэтому я могу обрабатывать любые ошибки вставки и не обновлять строки для тех, которые были ошибками.)

Любая помощь приветствуется.

Ответы [ 4 ]

3 голосов
/ 07 февраля 2009

Я больше разбирался в этом, и вот ответ, который я придумал:

На каждом выходе многоадресной рассылки я помещаю операцию сортировки, затем присоединяю их, используя операцию MergeJoin. После этого я выполняю обновление SQL с помощью команды OLE DB для элементов, которые не имеют значения ошибки из mergejoin.

2 голосов
/ 18 ноября 2016

Если вы приблизительно знаете, сколько времени потребуется, чтобы завершить одну ветвь, вы можете использовать команду OLE DB на второй вилке. Введите «waitfor delay '00: 00: 15 '», чтобы сервер подождал 15 секунд, прежде чем перейти к следующему шагу.

Waitfor

2 голосов
/ 07 февраля 2009

Вы не можете сделать это в SSIS. Вы можете применять ограничения приоритета (то есть применять порядок выполнения) только на уровне потока управления.

1 голос
/ 07 февраля 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...