【问题标题】:How to control sequence of tasks inside a data flow in SSIS?如何控制 SSIS 中数据流中的任务顺序?
【发布时间】:2016-12-12 12:20:37
【问题描述】:

我正在创建一个 SSIS 包,它有一个执行 SQL 任务和一个数据流任务。

在数据流任务中,数据从不同的源表移动到各自的目标表中。

我们能否控制 ETL 执行发生的顺序,以便每个表转换在下一个开始之前完成?

我不想创建多个包,需要一个包处理。

例如,在数据流任务中,我们执行以下代码:

  • S1->数据转换transf->T1
  • S2->数据转换transf->T2,
  • S3->数据转换transf->T3,
  • S4->数据转换transf->T4,........

并且数据加载顺序必须如下:

  • S1->数据转换transf->T1,
  • S4->数据转换transf->T4,
  • S3->数据转换transf->T3,
  • S2->数据转换transf->T2,........

请告诉我如何实现它。

【问题讨论】:

    标签: ssis


    【解决方案1】:

    我认为处理不同且受限制的数据流的最佳方法是创建不同的数据流任务来处理每个任务的要求。您可以使用优先约束将它们放置在序列容器中。例如:

    您可以按照您希望任务完成的方式定义约束,包括退出状态(失败、成功或完成)和表达式(假设您创建了一个控制优先约束的变量) ,例如:

    在这种情况下,只有当变量myvar的值为true并且数据流任务S3到T3以成功状态退出时,数据流任务S2到T2才会执行

    希望这会有所帮助。

    【讨论】:

    • 很好的答案,来自 SSIS 的精彩图片可以指导提出问题的人。
    猜你喜欢
    • 2014-07-16
    • 2011-03-09
    • 1970-01-01
    • 2015-11-22
    • 1970-01-01
    • 2018-04-13
    • 1970-01-01
    • 2011-08-03
    • 2016-06-24
    相关资源
    最近更新 更多