代码之家  ›  专栏  ›  技术社区  ›  ps.

在SSIS控制流中有选择地执行任务

  •  27
  • ps.  · 技术社区  · 14 年前

    我有一个带有控制流的SSIS包,其中包含一系列按顺序执行的SQL任务。

    我需要检查每个任务的标志,如果设置了,就运行该任务,如果不设置,就跳过并转到下一个任务。

    每个任务执行一个存储过程。所以我可以检查进程,如果没有设置“返回”。我在寻找“SSIS”解决方案(如果有的话)。

    蒂亚

    聚苯乙烯

    2 回复  |  直到 14 年前
        1
  •  32
  •   William Salzman    14 年前

    在控制流任务之间,单击箭头并选择“编辑”。当您这样做时,您会得到一个对话框,允许您检查任务的“约束”(成功、完成或失败),“表达式”(即,您可以让您的执行SQL任务返回一个值,将该值存储在变量中,并检查表达式中该变量的值以确定她将继续沿着您正在编辑的路径前进)、“表达式和约束”以及“表达式或约束”。最后两个是相同的,除了逻辑。”表达式和约束“要求表达式和约束都为真,”“表达式或约束”只要求表达式和约束中的一个为真。

        2
  •  48
  •   Amos Wood    13 年前

    我认为您的问题与我的问题相同,在我的控制流中,我希望控制“内联”任务的执行。

    我发现最简单的方法不涉及控制流对象之间的数据连接器上的表达式,而是在控制对象本身上使用表达式,并使用表达式设置“禁用”值。这样,在执行时,对象将被跳过或不基于表达式计算。

    例如,我想执行一个“执行SQL任务”,根据名为“extractType”的变量是否等于“full”,删除索引。如果是这样的话,那么在进行完全加载之前,我想删除表上的索引。