首页 > 解决方案 > 当序列容器的传播设置为 false 时,如何使 SSIS 包状态失败

问题描述

我有一个 SSIS 包,每个循环 > 序列容器。序列容器正在尝试从 For each 循环中读取文件并处理其数据。要求是在处理文件时发生任何异常时不要使整个包失败,而是继续处理下一个文件,直到从 for each 循环中处理完所有文件。为此,我将序列容器的 Propagate 变量设置为 False。我还在序列容器的 On Error 事件中添加了电子邮件步骤。该包按预期运行,即使任何文件发生任何异常,也能够处理所有文件。但我希望我的 SSIS 包的状态最终失败,因为其中一个文件失败了。我怎样才能做到这一点?

标签: error-handlingssisforeach-loop-container

解决方案


你试过这个选项吗?(左侧是俄语的 SSIS 版本,但它是序列容器) 在此处输入图像描述

查看 -> 属性窗口 -> 然后单击您的序列容器,它将显示序列容器的属性。

如果我是你首先我会尝试属性“FailPackageOnFailture” - 如果我做对了它应该涵盖你的问题。

PS 此外,当您单击项目中的空闲位置时,您可以看到项目的全部属性

更新(在评论和更清晰的理解任务之后):想法是 - 根据需要将 SQ 的此参数 Maximum ErrorCount 设置为最大值 - 在这种情况下,它不会停止包,因为其中 1 个文件在 SQ 中失败并且下一个文件将处理,但它应该在 SQ 完成他的工作后停止包,因为你没有更改包的 MaximumErrorCount。重要 - 零值将错误计数阈值设置为无穷大,并且包或任务永远不会失败


推荐阅读