多次执行SSIS任务

时间:2017-12-14 10:56:33

标签: ssis

我对SSIS比较陌生。我有两个脚本任务。如果任一任务失败,则错误处理逻辑是相同的。无论第一个脚本任务是否失败,第二个脚本任务都必须始终执行。

我创建了上面的内容,如下面的图片链接所示。但是,似乎错误处理程序任务只执行一次。因此,如果两个脚本任务都以错误终止,则不会对第二个脚本任务执行错误处理程序(可能是因为它已在第一个脚本任务之后执行。

无论如何要实现这一点,或者我只需要为两个脚本任务复制错误处理程序任务。

请参阅下面的SSIS图像

enter image description here

1 个答案:

答案 0 :(得分:4)

您需要复制任务才能执行两次。

将此事件触发两次而只定义一次的一种方法是设置事件处理程序。

要执行此操作,请导航至“事件处理程序”'标签

您会在右侧看到一个下拉列表,您可以在其中选择事件处理程序类型。在这里,您可能需要OnTaskFailedOnErrorOnTaskFailed每个失败的任务触发一次,而OnError触发任务中发生的每个错误。

在左侧,您可以选择可执行文件,它允许您为事件处理程序定义范围。如果将此范围限定为包,则将为包中的每个任务执行事件处理程序。如果您的包中的任务多于您在帖子中显示的两个脚本任务,并且您只希望它为这两个脚本任务触发,您可以将它们放入序列容器(在控制流中),然后将事件处理程序作用于该序列容器。

然后,只需单击窗格中间的文本即可创建处理程序,并在那里添加必要的任务(它的工作方式与控制流类似)。

现在将为两个任务执行事件处理程序。

还值得一提的是,在这些处理程序中,您可以使用许多有用的系统变量,例如System::ErrorDescription中的OnError

我所描述的内容将如下所示:

SSIS Event Handling