0

我有一个序列容器,其中包含一个序列中的多个执行过程任务。

例如 EPT1 -> EPT2 -> EPT3。

现在我需要从这个流程中学习两件事。

1) 如果执行流程任务 2 失败,则再重试 2 次。即使再尝试两次后,任务也会失败。
2)如果执行流程任务 2 失败,我仍然需要执行流程任务 3 以及需要一些机制来删除电子邮件或创建有关执行流程任务 2 中的错误的日志文件。

4

1 回答 1

0

将执行包任务放入 For 循环容器中。定义一个用于计数的变量,一个用于成功运行指标和一个 MAX_COUNT 常量。在 Package Task - Expressions 的属性中,定义

FailPackageOnFailure - False

在执行任务后放置一个脚本任务读/写变量:成功运行,脚本:

Dts.Variables["SuccessfulRun"].Value = 1

在 For 循环的属性中:

InitExpression - @Val_Counter = 0
EvalExpression - @Counter < @MAX_COUNT && @SuccessfulRun == 0
AssingExpression - @Val_Counter = @Val_Counter + 1
Connect PackageTask with ScriptTask using Success line.

或者

在 For 循环容器中定义表达式

MaximumErrorCount - Const_MAX_COUNT

但是这个还没有经过我的测试...

于 2013-09-30T06:18:48.760 回答