2008-09-24 5 views
2

У меня есть пакет служб SSIS, которые в зависимости от логической переменной, следует либо перейти к задаче Script или задачи электронной почты. (Примечание: пути Предстоят из Задачу сценария)Как программно изменить рабочий процесс между задачами управления потоком SSIS?

я помню в старом dts designer был способ сделать это с помощью кода. Каков правильный способ выполнить это в SSIS?

ответ

5

Не является Условным Split потока данных задачи, которая принимает строку данных и толкает его в одном из двух направлений согласно некоторому свойству данных ???

К сожалению, это верно. Я нашел this запись в блоге, в которой объясняется, как выполнить надлежащее условное ветвление управления, основанное на логических значениях.

+0

Спасибо, похоже, что это сделает то, что мне нужно! – 2008-09-24 15:47:51

0

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

+0

К сожалению, задача условного разделения находится в потоке данных. Два доступных пути идут из задачи скрипта. Я, вероятно, должен был быть более конкретным. – 2008-09-24 15:16:01

2

В потоке управления перетащите зеленую стрелку на задание электронной почты, затем щелкните ее правой кнопкой мыши, и вы увидите, что вы можете установить ее с «Завершено» на «Условный», тогда вы можете установить выражение при условии. Стрелка затем станет синей. Затем вы можете перетащить еще одну стрелку в другой скрипт и установить ее в условное.

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

@[User::SendEmail] == True 

Если предположить, что переменная SendEmail является логическим. Если вы используете что-либо еще, просто создайте выражение, которое оценивается как true, так и false.

Не забудьте установить условные обозначения в OR вместо AND, иначе он не будет завершен, если он не сможет использовать оба маршрута!