我的源表和目标表位于不同的服务器上,它们具有相同的架构。我需要以一种方式合并它们,如果某些记录仅存在于Target中并且在Source中不存在,那么它应该从Destination中删除。我如何在SSIS中实现这一目标。
答案 0 :(得分:0)
试试这个:
1.拖动Oledb command
并在对话框中的connection Manager
中指定连接。
2.在组件属性中写入sql命令以删除行
Delete from yourTable
where id = ?
3.在列映射选项卡地图?
中,输入列ID
来自上一个组件
Update 2
:在Oledb源之后使用Lookup。配置Lookup
步骤1:选择缓存模式。如果行数少于
,则选择一般完整缓存第2步:指定Redirect rows to no match output
步骤3:指定连接并编写查询以从目标表中获取Id(或加入列)
Select ID from Destination
步骤4:使用目标表中的ID从源代码ID
进行操作,并选择RHS中Id
列的复选框。
步骤5:按照Update
之前编写的步骤配置oledb command
以删除行。确保在映射时从Lookup
而不是Source
中选择ID OLEDB command
组件