将不匹配的查找行插入表后如何继续该过程?

时间:2012-11-07 08:32:18

标签: ssis dataflow union-all

在数据流中,是否可以进行查找,插入不匹配的行,重新查找,然后继续使用完整的(原始)数据集?

我看不到你在进入OLE DB Destination后如何获取/重新使用插入的行,也看不到Multicast可以等到查找插入分支完成(然后把所有他们联合起来)。

如果无法在数据流中完成,我是否必须在先前的数据流任务中重复所有过滤逻辑,只是先进行查找插入?

这可能是一个显而易见/已经回答的问题,但搜索后我找不到多少。

1 个答案:

答案 0 :(得分:5)

这在单个数据流中是不可能的。如果你足够google有各种各样的“解决方案”,但它们忽略了行以缓冲区/批处理方式沿着数据流传输并且并行处理的架构现实。

因此,您有多个“新”行到达2个相邻缓冲区。在缓冲区2命中上游查找之前,无法确保缓冲区1中的“新”行的下游处理已完成。这将导致多个“新”行被插入到查找目标表中以获得相同的密钥。

您需要具有执行所有必需查找插入的上游数据流任务。这将是整个运行时更有效的解决方案,因为您的查找插入可以使用快速加载和表锁定,并且您的下游查找可以是完全缓存。