0

我想要一个 SSIS 包,在这种情况下我有两个变量:x=1 和 y=0 和 3 个任务:一个是执行 SQL 任务(任务 A)和两个脚本任务(任务 B 和 C)。我想当我们在任务 A 中选择 x=1 时,任务 B 运行,当在任务 A 中选择 y=0 时,任务 C 运行。在 A 和 BI 之间的优先约束编辑器中选择带有成功值的 Expression 和 Constraint ,在 A 和 CI 之间的优先约束编辑器中选择带有失败值的 Expression 和 Constraint 但我不知道在这些优先约束编辑器中必须写什么表达式。请尊重我

4

1 回答 1

4

您需要在设计时设置两个包变量来保存 x 和 y。

在 Execute SQL 组件的 General 选项卡中,将结果更改为 SingleRow 并确保查询返回 1 行,其中包含您需要的参数详细信息。转到结果集选项卡并将两个包变量 (x, y) 设置为从查询返回的列。

添加两个工作流,均来自执行 SQL 组件,均成功。对于第一个工作流(转到任务 B),将表达式设置为 @[User::x] == 1。对于第二个工作流(到任务 C),将表达式设置为 @[User::y] == 0 .

如果您希望选项互斥,则必须在每个工作流中包含两个子句(即@[User::x] == 1 && @[User::y] !=0)。您必须计算出所有排列并将它们包含在表达式中以避免两个工作流触发。

于 2012-12-01T22:12:21.063 回答