忽略SSIS中的“执行包”任务上的错误

时间:2009-03-30 14:52:00

标签: ssis

在SSIS包中,我有一个For循环容器任务,EvalExpression设置为true(这样它就可以永久运行)。如果For循环容器内的任何任务失败,则包必须失败 - 执行包任务(调用子包)除外。如果失败,则父包应转移到下一个任务。

我尝试将Execute Package任务的MaximumErrorCount设置为0,但这没有帮助。 我尝试将For循环容器任务的MaximumErrorCount设置为0,但忽略了For循环容器任务中所有任务的错误。

任何想法如何在For循环容器中仅忽略执行包任务上的错误。

3 个答案:

答案 0 :(得分:9)

答案是对所有应该导致程序包停止的任务使用FailPackageOnFailure属性,并将For循环容器任务的MaximumErrorCount设置为0.

我在这里得到了答案: http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?&query=Ignore+errors+on+Execute+Package+task+in+SSIS&lang=en&cr=&guid=&sloc=en-us&dg=microsoft.public.sqlserver.dts&p=1&tid=6406db48-a2cb-4b0d-a124-4892e976a583

答案 1 :(得分:9)

更好的方法是转到执行包任务的OnError处理程序,并将System变量“Propogate”设置为false。这将阻止错误向上冒泡到您的循环容器。

答案 2 :(得分:6)

  1. 转到顶部的“事件处理程序”
  2. 在左侧选择所需的“可执行文件:”
  3. 转到顶部的“事件处理程序”
  4. 在中间单击“单击此处为可执行文件'xxx'创建'OnError'事件处理程序
  5. 转到“Package Explorer”,找到新创建的“OnError”事件 - >变量 - >传播完成
  6. 在属性中将值更改为“false”
  7. 完成