在执行SQL命令控件中删除

时间:2013-04-25 14:16:02

标签: ssis

我的源表和目标表位于不同的服务器上,它们具有相同的架构。我需要以一种方式合并它们,如果某些记录仅存在于Target中并且在Source中不存在,那么它应该从Destination中删除。我如何在SSIS中实现这一目标。

1 个答案:

答案 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组件