2013-04-25 31 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組件