0

这是典型的 ForEach 容器行为:

http://i.stack.imgur.com/ypx7H.png

但是,如果我执行下图所示的操作,则执行 SQL 任务永远不会执行,我该怎么做?如果其他类型的容器允许我这样做,我不必使用 ForEach 容器。

for each 循环本质上是遍历文件夹中多个子目录中的文件。根据循环所在的文件夹,它填充一个变量。此变量用于从“某些脚本”任务到“任务 a”和“任务 b”的连接器中,以决定将运行哪个任务。因此,如果在与任务关联的文件夹中检测到文件,这两个任务可能都会运行。

我真正需要的是任务 a 和 b 在完成后转到同一个数据库任务。

http://i.stack.imgur.com/GuPV3.png

4

2 回答 2

1

原来这是解决方案:

富

于 2015-08-19T20:48:56.327 回答
1

您有两个来自“某些脚本任务”的输出路径。它们通过先例约束连接到“任务 A”和“任务 b”。该先例约束是绿色的 - 所以成功,但它还附加了一个字形/装饰,因此表明还有一个表达式必须满足才能满足该约束。

我假设只有 A 或 b 触发,对吧?

因此,由于只有 A 或 b 可以运行,因此“任务的 DB 中的更新结果”将永远等待它们完成。

然后,解决方法是将导致该 Execute SQL Task 的先例约束的多个约束部分从Logical AND更改为Logical OR。双击任一连接器并在此处进行更改。两者现在都应显示为绿色虚线。

于 2015-08-19T20:15:39.793 回答