大家下午好 -
我有一个新导入数据的表,我需要从这个表中过滤出在另一个表中找到的匹配行,只留下新行。一个障碍可能是表1的数据和表2的数据在不同的服务器上,但我想只要为每个服务器添加一个连接管理器就足以解决这个问题。
我似乎记得有一个任务可以做这样的事情,但我找不到它,无法拯救我。有没有人有什么想法?
提前感谢任何帮助!
你好 ,
我们可以使用OLEDB源和 Lookup Transformation 来获得匹配数据和无匹配数据。
我们应该在Lookup一般页面中把 指定如何处理没有匹配条目的行 设置为 把行重定向到没有匹配的输出 。
请参考以下图片。
最好的问候,
Mona
你好,
我想知道你是否有什么要更新的?
Best Regards,
Mona
你可以为此目的用数据流任务创建一个SSIS包
在数据流任务中,有两个OLEDB源连接到你的两个服务器表,按连接列排序。然后使用一个合并连接,将两个OLEDB源连接到两个输入。确保你为来自OLEDB源的两个输出设置isSorted属性为true,并在输出列中标记排序列SortKey值为1,2等。然后采取合并连接的输出,并将其链接到条件分割任务。在条件中添加一个输出
ISNULL([Column]) == TRUE
其中[Column]是你第二个表中的连接列。然后将条件拆分输出链接到你想要的目的地,以获得只有不匹配的行