如何以编程方式更改SSIS控制流程任务之间的工作流程?
时间:2020-03-06 14:40:02 来源:igfitidea点击:
我有一个SSIS包,该包取决于布尔变量,应转到脚本任务或者电子邮件任务(注意:路径来自脚本任务)
我记得在以前的dts设计师中,有一种方法可以通过代码来完成。在SSIS中完成此操作的正确方法是什么?
解决方案
有条件的拆分任务可以满足需求。添加条件拆分任务,添加其他输出(提供默认输出),然后为该输出设置条件。然后,仅将输出(默认和新输出)绑定到脚本和电子邮件任务即可。
Isn't a Conditional Split a data flow task, which takes a row of data and pushes it in one of two directions according to some property of the data???
糟糕,这是正确的。我找到了这个博客条目,该条目解释了如何根据布尔值进行适当的控制流条件分支。
在控制流中,将绿色箭头拖动到电子邮件任务,然后右键单击它,我们会看到可以将其从"已完成"设置为"有条件",然后可以在条件上设置表达式。箭头将变为蓝色。然后,我们应该能够将另一个箭头拖动到另一个脚本,并将其设置为有条件的。
我经常进行此设置,如果需要满足特定条件,很多时候我们想通过电子邮件发送。条件约束的标准语法如下:
@[User::SendEmail] == True
假设SendEmail变量是一个布尔值。如果我们使用其他任何方法,只需构造一个计算结果为true或者false的表达式。
请记住,将条件设置为OR而不是AND,否则它将无法完成,除非它可以同时使用两条路径!