【问题标题】:SSIS Data Flow Task: Is there a way to arrow multiple processes back to one?SSIS 数据流任务:有没有办法将多个进程返回到一个?
【发布时间】:2015-01-19 17:24:53
【问题描述】:

我有一个数据流任务,它在具有三个分支的两列(id、SystemModstamp)上进行查找:

  • 未找到匹配项 - 插入。只是这样就可以正常工作。

...如果找到匹配项,我刚刚添加了一个条件拆分来测试变量 overwrite_matches...

  • 如果 overwrite_matches='Y',删除匹配的行(TF Delete Batch 在下图中),然后插入。
  • 如果 overwrite_matches='N',获取名为“无操作”的行数并执行 什么都没有。

问题:我怎样才能去掉下图中的蓝绿色箭头,在#2 TF 之间设置一个优先约束(我知道,它们在数据流任务中不存在)删除批量转换和派生列,以便派生列在两者都完成之前不执行?

想到的只是联合全部/合并/合并加入,但我不希望 #2 TF 删除中的流影响下游 INSERT,因为它已经在 #1 流中。

【问题讨论】:

  • 您可以执行合并联接,这将强制派生列等待,然后在最终下游 INSERT 中不使用任何已联接列,因此不会产生任何影响。
  • 不错的主意,现在进行测试,但这意味着我必须对两列进行排序。
  • “TF Delete Batch Transform”组件是否支持输出流?
  • 没有。我刚刚用荷马辛普森的“Doh!”想出来了。片刻。由于条件拆分,两个流中有不同的行(匹配与不匹配),因此它们是否并发执行没有影响。将 TF 删除更改​​为 TF 插入,一切顺利。

标签: ssis


【解决方案1】:

没有。我刚刚用荷马辛普森的“Doh!”想出来了。片刻。由于 Lookup,两个流中有不同的行(匹配与不匹配),因此它们是否并发执行没有影响。将 TF Delete 更改为 TF Insert,一切顺利。

很抱歉给大家带来不便。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-17
    • 1970-01-01
    • 2021-09-21
    • 2016-12-26
    相关资源
    最近更新 更多