C# SSIS如何强制祖父母容器的ExecutionResult成功

C# SSIS如何强制祖父母容器的ExecutionResult成功,c#,sql-server,vb.net,error-handling,ssis,C#,Sql Server,Vb.net,Error Handling,Ssis,非常感谢您的帮助和见解 在SSIS中,我需要ForceExecutionResult=祖父母容器的成功 这是我当前设置包的方式: 父包=A 子包=B -执行包任务从A调用B -如果B失败并出现特定错误代码,我将重试B 我使用脚本任务通过A的执行包任务中的OnError事件处理程序重试B。 按照我的想法: -A的执行包任务OnError事件处理程序是脚本任务的父容器 -A的执行包任务是脚本任务的祖父母容器 当B重试成功时,如何为祖父母容器(A的执行包任务)设置ForceExecutionR

非常感谢您的帮助和见解

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

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

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

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

按照我的想法:
-A的执行包任务OnError事件处理程序是脚本任务的父容器
-A的执行包任务是脚本任务的祖父母容器

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

现在,即使B重试成功,A的执行包任务仍然显示红色=失败,这是第一次B重试失败的结果

正在寻找在脚本任务中使用C#或VB实现这一点的编程方法

我正在使用SSIS 2008


感谢阅读

主要建议是在发生错误后不要重新运行包B。你需要打电话给B,确保它不会使A包失败,评估B包的结果并决定怎么做

  • 为循环创建一个
    容器,并使其运行设置的次数(=最大运行次数,如在
    中,而我执行<5次

  • 设置
    executepackage
    任务,使父级和整个包在出错时不会失败

  • 评估
    脚本任务
    中的执行代码,并在成功/失败条件下退出
    For循环
    容器。(如设置i=5)


  • 也许您可以从C#
    脚本任务执行包B
    ——检查对象模型如何执行。如果我找到了更新的方法,我会更新我的答案。

    我想您需要一个外部表来设置一些标志和内容。我的意思是,这是可行的,但只是有点麻烦。由于您在某些故障后尝试启动B,因此包需要保留第一次运行的状态和错误代码,以便在第二次(或第三次或第N次运行)期间引用相同的状态和错误代码。希望这有帮助。感谢您的解决方案。我相信这是可行的。在我的特殊情况下(100多个子包调用),我可能不会选择实现它,因为我很懒。由于我在脚本任务中找不到使用C#或VB的方法,我接受你的答案。我不知道如何使用SSIS 2008对象模型实现我想要的功能。似乎无法从子包更改父包的属性。更遗憾的是。