c# - SSIS如何强制祖父容器执行结果成功

标签 c# sql-server vb.net error-handling ssis

非常感谢您的帮助和见解

在 SSIS 中,我需要 ForceExecutionResult = Success for the Grandparent Container

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

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

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

我的思路:
- A 的执行包任务 OnError 事件处理程序是脚本任务的父容器
- A 的执行包任务是脚本任务的祖父容器

当 B 重试成功时,祖父容器(A 的执行包任务)如何 ForceExecutionResult = Success?

现在即使 B 重试成功,A 的执行包任务仍然显示红色 = 失败,因为 B 的第一次尝试失败。

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

我正在使用 SSIS 2008

感谢阅读

最佳答案

主要建议是不要在 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 - 检查对象模型如何做到这一点。如果我找到方法,我会更新我的答案。

关于c# - SSIS如何强制祖父容器执行结果成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19554684/

相关文章:

sql-server - SQL - 过滤日期 X 天数

SQL 在组中查找列具有空值和非空值的行

sql-server - 没有完整 SQL Server 的 dtexec.exe

c# - 使用 DataAnnotation 将小数显示为百分比

c# - 垂直滚动 gridview XAML windows store app

c# - CollectionEditor 的父级

c# - 检测应用程序是否在系统帐户下运行?

vb.net - 如何使用Windows Media Player播放资源中的声音?

vb.net - 声音样本的数学分析(作为数字数组)

vb.net - .NET 4 中是否允许泛型运算符重载?