3

我有一个 SSIS 包。我为任务的不同行为设置了几个处理程序。我的问题是:特别是一项任务,如果它失败了,我希望它跳过其他一些任务并继续前进。因此,我想为该特定任务设置 OnError 以便它跳转到其他任务。我怎么能说处理程序内部的 SSIS 继续执行特定任务?

我想跳到控制流中的另一个任务。

4

2 回答 2

2

你不能对 SSIS 这么说,你必须用优先约束来实现它。示例:假设您有任务 A -> B -> C -> D 并且如果 B 失败,您不希望 C 执行,您可以这样做:

请注意虚线,您需要将优先级设置为 OR 否则 D 只有在 B 成功和失败时才会执行,这是不可能的

在此处输入图像描述

于 2012-04-27T14:15:41.513 回答
1

SSIS 包上的控制流任务根据包中描述的流程执行。假设您有两个任务, aScript Task和 a Data flow task。这里的两个任务是相互关联的。脚本任务被故意编码为失败。当它这样做时,包将在该点停止执行,因为它的结构是仅在脚本任务成功执行时才执行数据流任务。

失败

您可以右键单击脚本任务和数据流任务之间的连接器/优先级约束并将其从 更改SuccessCompletion。这意味着它指示包在Data Flow Task脚本任务完成时执行,无论它是失败还是成功。

右键单击约束

现在,如果您运行包,即使脚本任务失败,它也会执行数据流任务。

完成

您也可以有多个这样的流程。您所要做的就是右键单击任务之间的连接器/优先级约束,然后选择正确的状态来决定包应该执行的路径。

多流

希望有帮助。

于 2012-04-27T14:16:47.960 回答