【问题标题】:SSIS Multicast - executing in a specific orderSSIS 多播 - 按特定顺序执行
【发布时间】:2020-08-10 03:15:46
【问题描述】:

我有一个 SSIS MULTICAST 对象,它将我的流程分成 2 个路径。

第一条路径:我需要更新一行; 第二条路径:我需要插入一行。

基本上,我在不使用 SCD 向导的情况下在 SSIS 中实现 SCD TYPE2 数据。因此,在确定源数据中已更改的记录后,我需要“第一条路径”使该记录过期,而“第二条路径”将更改的记录插入目标表中。

我需要一种方法让第二条路径等到第一条路径完成。 (否则,第 1 条路径也会通过第 2 条路径更新新插入的行)。

感谢任何帮助。

【问题讨论】:

  • 您是否尝试过使用“条件拆分”组件?
  • 老实说,让自己的生活更轻松 - 将更新暂存到持久物理表,然后在数据流之后触发执行 SQL 任务。 Meagan 在Demystifying the Type 2 Slowly Changing Dimension 上有一篇很棒的文章@你不必做 Biml,但她的照片应该足以解释。对历史和更改键进行哈希处理的逻辑在黄金上是值得的。

标签: sql sql-server ssis multicast


【解决方案1】:

多播是并行操作,所以你不能让一条路径等待另一条路径。

因此,您需要做的是,将数据临时存储在内存中,稍后再处理以插入目标(对于 SCD 类型 2)。

对于临时存储数据,您有一些选择:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-13
    • 2013-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-08
    • 1970-01-01
    相关资源
    最近更新 更多