我的序列容器包含一个序列中的多个执行过程任务。
例如 EPT1 - > EPT2 - > EPT3。
现在我需要从这个流程中学到两件事。
1)如果执行过程任务2失败,则重新尝试2次。即使再尝试两次,任务也会失败 2)如果执行进程任务2失败,我仍然需要执行进程任务3以及需要一些机制来执行删除电子邮件或在执行进程任务2中创建有关错误的日志文件。
答案 0 :(得分:0)
将执行包任务放在For循环容器中。定义一个变量,它将执行计数,一个用于successrun指示符和一个MAX_COUNT Constance。在包任务 - 表达式的属性中,定义
FailPackageOnFailure - 错误 在执行任务之后放置一个脚本任务读/写Vars:SuccessfulRun,脚本:
Dts.Variables [“SuccessfulRun”]。值= 1 在For循环的属性中:
InitExpression - @Val_Counter = 0 EvalExpression - @Counter< @MAX_COUNT&& @SuccessfulRun == 0 AssingExpression - @Val_Counter = @Val_Counter + 1 使用Success line将PackageTask与ScriptTask连接。
OR
在For Loop Container中定义表达式
MaximumErrorCount - Const_MAX_COUNT 但是这个还没有经过我的测试......