SSIS如何为祖父母容器强制执行结果成功

Jon*_*ssi 5 c# vb.net sql-server error-handling ssis

非常感谢您的帮助和见解

在SSIS中,我需要ForceExecutionResult =祖父母容器的成功

这就是我当前设置包的方式:
父包=
子包= B

- 执行包任务从A调用B
- 如果B失败并带有特定错误代码,我重试B

我通过OnError事件重试B使用脚本任务在A的执行包任务中处理程序.

以我的思维方式:
- 一个执行包任务OnError事件处理程序是脚本任务的父容器
- 一个执行包任务是脚本任务的祖父容器容器

如何强制执行结果=祖父素容器的成功(A的执行包任务)当B重试成功?

现在,即使B重试成功,A的执行包任务仍然显示Red =失败,因为第一次B尝试发生故障.

寻找在脚本任务中使用C#或VB执行此操作的编程方法.

我正在使用SSIS 2008

谢谢阅读

Sto*_*leg 1

主要建议是不要在OnError事件发生后重新运行包 B。您需要调用 B,确保它不会使包 A 失败,评估包 B 的结果并决定要做什么。

  1. 创建一个For Loop容器并使其运行一定次数(= 最大运行次数,如while i < 5 do)。

  2. 设置Execute Package任务不会因错误而导致父级和整个包失败。

  3. 评估成功/失败条件下的执行代码Script Task并退出容器。For Loop(比如设置 i=5)。

也许您可以从 C# 执行包 B Script Task- 检查对象模型如何执行此操作。如果我找到方法,我会更新我的答案。