SSIS数据流(2个包装到一个包中)

时间:2018-02-20 21:17:53

标签: visual-studio visual-studio-2015 ssis

我创建了2个不同的包,其中在包1中我们从两个不同的表(当前表和历史表)加载数据,在第二个包中我们只从当前表加载到目标表。

任务:我想只使用一个包而不是两个包,当它第一次运行时,它应该从当前表和历史表中加载数据,当我们第二次运行它时,它应该只将数据从当前表加载到目标

这可以在单个数据流中完成吗?如果是这样你能解释我怎么样?

1 个答案:

答案 0 :(得分:1)

这看起来像某种修改后的增量加载。无论如何,有很多技巧:

创建2个并行DFT,1个带有当前源,另一个带有历史源。 execute sql task将根据以下两种方法触发它:

注意:明智地处理并行处理,否则源会发生冲突。

img

  1. 维护' DataLoad_ID'

    • 在这里,您将维护一个单独的表,其中包含负载数量。 execute sql task会读到这个。当DataLoad< 1,然后通过constraints启用历史记录源DFT。否则只运行当前的源DFT。
  2. 通过现有逻辑。

    • 使用Execute SQL Task,检查您的数据仓库是否已填充(例如,使用任何逻辑,检查默认列:Created_Dttm,Updated_Dttm)。如果没有,则通过constraints启用历史记录来源DFT。否则只运行当前的源DFT。