【问题标题】:SSIS ConstraintsSSIS 约束
【发布时间】:2019-10-04 16:28:34
【问题描述】:

我们有只在星期三运行的容器(步骤)。我希望 SSIS/VS 等到评估完毕后再继续。 请看这张图片的例子:

在示例中,Pass_3 仅在星期三运行。我希望 Pass_Final 等待,直到 Pass_3 被评估并且成功运行或不运行。如果其中任何一个发生,请转到 Pass_Final。但是,如果 Pass_3 运行并失败,请不要继续进行 Pass_Final。目前的情况,如果 Pass_3 不运行,Pass_Final 也不会运行。

这可能吗? Visual Studio 2015/SSDT 2015

【问题讨论】:

  • Pass_4 在哪里发挥作用?是否执行 Pass_Final 取决于 Pass_4 和/或 Pass_3 的完成,具体取决于您如何配置 Pass_Final 和其他步骤之一之间的“优先约束”。双击 pass_4 和 Final_pass 之间的绿色箭头,指向“多重约束”下的底部,AND 都需要成功,OR 是其中之一。
  • 您的问题并不完整。你有什么问题?
  • @TabAlleman,对不起,我编辑了这个问题。当前的问题是如果 Pass_3 没有运行,Pass_Final 将不会运行。

标签: visual-studio-2015 ssis sql-server-data-tools


【解决方案1】:

我敢肯定,如果我提供了图片,这将更容易理解,但现在我只有时间打字。希望这会足够清楚。

您需要做的是重新设计pass_3 路径,以便它在不是星期三时返回true。

一种方法是添加一个在pass_3pass_final 之间不执行任何操作的虚拟脚本任务。因此,您将拥有从 pass_3dummy_task 以及从 dummy_taskpass_final 的完成约束。

然后你添加一个从pass_1 直接到dummy_task 的约束来检查这一天是否不是星期三。并在去往dummy_task 的约束上使用 OR 条件,这样其中只有一个必须为真。

它的作用是,在星期三,pass_3 将被使用,完成后,它将激活 dummy_task,它将传递到 pass_final,并且每隔一天,pass_3 将被跳过,但是dummy_task 仍将被激活并传递给 pass_final

希望这已经足够清楚了。

【讨论】:

  • 我会做更多的测试,但我认为这对我有用。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-10-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多