运行SQL Server 2008 R2 / BIDS 2008。
我有一个SSIS包,需要根据表达式进行一些分支。
当我在调试中运行时,只有'验证'步(绿色)运行。之后,即使3个条件中的1个始终存在(表达式在注释中显示),它也会停止。为什么会这样?创建流程时,我不会遇到任何错误。
我如何解决这个问题,以确实有效?
答案 0 :(得分:2)
我看到图像的右侧是一个大对象,它有两个指向它的优先约束。
如果使用“逻辑AND”(默认值)定义这些约束,则对于开始处理的对象,它们都必须为true。
使用这种结构,如果在执行包时右上角表达式为true,则包的其余部分将永远不会执行,因为右边的大对象正在等待其两个传入的先例都被执行。
如果将传入约束设置为“逻辑OR”,则只要满足两个传入先例中的任何一个,对象就会开始处理。