ssis - 如何根据条件跳过任务或容器的执行?
问题描述
我有几个顺序控制流任务和容器。
我已经看到有一个名为 disable 的表达式属性,我可以使用它动态禁用任务或容器。
如何不禁用和停止工作流,如何跳过任务或容器但从紧接的下一个控制流任务继续执行?
解决方案
序列容器允许对任务进行逻辑分组。我在我的包裹中大量使用它们。
禁用任务或容器只会导致执行绕过它。在这里,我在“Sequence Container 1”上将 Disabled 属性设置为 True,您可以看到“Sequence Container”和“Sequence Container 2”显示绿色检查
如果我想禁用整个下游路径,我会将“序列容器”和“序列容器”之间的优先约束修改为“表达式和约束”,然后有一个基于变量的表达式,比如@[User::ProcessingReady]
在那里,您可以看到 1 和 2 已启用,但在处理过程中它们没有得到绿色检查,因为不满足继续的标准,先例约束 (fx)。
处理评论
“当禁用基于任务上的表达式(在属性窗格中)完成时,它的行为方式是否与右键单击和禁用任务相同?第一个是动态方法,后来是手动方法。”
确切地!任务如何进入禁用状态无关紧要,行为将是相同的:它不执行并且下一个启用的任务在线运行。
下图显示了通过表达式禁用的任务 - 左上角的 fx 提供了表达式存在的视觉提示。
推荐阅读
- javascript - 如何在点击手风琴时激活相应的图像?
- javascript - 如何在 React Native 中调用另一个函数内部的函数
- javascript - 无法在 node.js 中的模块外部使用 import 语句
- android-viewpager - 如何在 Jetpack Compose 中双向滚动
- logback - Logback - 仅记录消息而不是特定异常的堆栈跟踪
- java - 错误创建名称为通过字段表示的不满足依赖关系的 bean
- jq - jq: combine multi array in dict without permutate
- unity3d - 如何将属性分配给 Unity 中的类?
- postgresql - 过滤文本文件中的数据并加载到 postgresql
- regex - 我正在尝试从 jmeter 变量中提取数据以存储在文件中。试图编写一个正则表达式以适应此 code.JOb_id 提取?