2013-04-25 30 views
1

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

+1

'执行SQL command'成分的存在'控制流程'不是'数据流程'?你的意思是'Oledb命令'组件? – praveen 2013-04-25 14:18:08

+0

对不起,是的,我的意思是OleDb命令 – InTheWorldOfCodingApplications 2013-04-25 14:19:28

回答

0

试试这个:

1.Drag的Oledb command,并指定在该对话框中connection Manager连接。

2.In组件属性写SQL命令删除行

Delete from yourTable 
where id = ? 

3.In列映射标签地图?与来自前一组件来输入列ID

Update 2:在Oledb源代码之后使用查找。配置查找

步骤1:选择缓存模式。如果行数较少,一般选择完全缓存

步骤2:指定Redirect rows to no match output

步骤3:指定连接,并且从目的地表写一个查询来获取的Id(或接合柱)

Select ID from Destination 

步骤4:Macth的ID从使用目标表中的ID并选择RHS中Id列的复选框。

第5步:按照Update之前写入配置oledb command删除rows.Make确保您的步骤从SourceLookup未选择ID,同时映射OLEDB command组件