只是说明,目前正在使用链接服务器连接是不可能的,因为我无权在其中一台服务器上更改任何内容。考虑到这一点,是否可以执行以下操作:
SELECT * FROM TableA
WHERE ID IN(SELECT ID FROM TableB)
表B在我的服务器上,表A在另一台服务器上。我正在考虑使用带有条件分割的OLE DB源,其中
SELECT * FROM TableA
将来自服务器上的其他数据库,我无权更改和
WHERE ID IN(从表B中选择ID)
以条件分割的形式。我该如何处理?
答案 0 :(得分:0)
你的问题并不完全清楚,但我认为你想要使用SSIS来提取id在另一个数据库的表中的数据。
为此,我会为每个项添加一个源,然后按主/外键对项进行排序(您可以在源查询中执行此操作并设置"已排序"属性要执行这更有效,但它有点棘手)。然后,您可以使用合并连接组件使用内部联接将两个表连接在一起,这样您只能获得两个表中的ID
编辑:
要调整此项以获得最佳性能,请更改密钥查找源以获得以下查询:
SELECT DISTINCT ID FROM TableB order by ID
设置"已排序"此源上的属性并删除后面的排序块。 (您可以添加订单并从其他来源中删除排序 - 如果已在ID上分类来源,则仅删除排序块)
合并排序要求双方按相同的键排序。