2017-08-14 57 views
-1

对于SSIS包非常新颖。需要针对以下数据流场景的解决方案。用于插入和更新的SSIS包

在源数据库和目标数据库上都有两个相同的表。

源表

ID  | Employee 
------ | ------ 
1  | Paul   
2  | Jane 
3  | John 

方案1

目标表之前插入

ID  | Employee 
------ | ------ 
1  | Paul   
3  | John 

目标表插入后

ID  | Employee 
------ | ------ 
1  | Paul   
2  | Jane 
3  | John 

方案2

更新目标表之前

ID  | Employee 
------ | ------ 
1  | Paul   
2  | Kate 
3  | John 

目标表中插入

ID  | Employee 
------ | ------ 
1  | Paul   
2  | Jane 
3  | John 
+0

此问题没有显示任何研究工作。 –

回答

0

的问你要求后是UPSERT场景。您可以按照此link进行此类实施。

  1. 按顺序插入 - 这是不可能的。执行数据加载时无法重新排序数据。如果您仍然认为有必要,那么您需要选择的选项是截断数据并再次执行加载。
  2. 数据要在比赛
0

更新我可能会建议如果可能的话,你使用链接的服务器。无论如何,SSIS并没有真正提供一种方法来完成内置合并(又名upserts)。如果您使用链接服务器,则可以在查询中执行合并权限。如果使用SSIS,最简单的方法是将数据从源上传到目标上的新表,然后在查询(执行SQL任务)中运行merge命令。