就像一个简单的例子:我的控制流中只有两个数据流任务(DT1和DT2)。我已经设置了包配置,以根据SSISConfiguration表中的值填充变量。如果变量为真,则如何执行DT1;如果变量为假,则如何执行DT2。我是否需要添加虚拟控制流任务(脚本任务),以便在优先约束中使用表达式?或者为任务使用Disable属性?这样做的最佳方法是什么?
谢谢!
SSIS 2008
答案 0 :(得分:1)
我们团队的标准是使用具有优先约束的虚拟脚本任务来选择要采用的路径。我通常将此设置放入序列容器中,并添加PostExecute事件处理程序以记录实际采用的路径。
当我可以直接控制执行哪个任务时,我不会在使用禁用标志时烦恼,但我可以看到这样做。
我喜欢虚拟脚本任务方法,因为如果(当)业务逻辑变得企业化时它可以升级到真实脚本,并且约束通常不需要修改。
答案 1 :(得分:0)
最佳方式是使用脚本任务将一个DT确定为True,将其他DT确定为False。禁用DT不足以解决问题
答案 2 :(得分:0)
我会使用Expression在DT1上设置Disable属性(如果变量为false)和DT2(如果变量为true)。