如何在SSIS中的源/目标之间同步数据插入更新删除
我是SSIS的初学者,我想知道一种在源/目标之间同步数据的简单方法,如:如何在SSIS中的源/目标之间同步数据插入更新删除,ssis,Ssis,我是SSIS的初学者,我想知道一种在源/目标之间同步数据的简单方法,如: 插入-更新-删除数据。您可以使用合并联接和条件拆分组件实现插入Updet删除。 让我们考虑一下,在SQLServer中有一个表雇员作为您的数据源组件,表EffersSTG作为您在数据库中存在的数据的源数据组件: 数据库应用程序源中的数据: 您需要对这两个数据集进行排序,原因是合并联接组件需要按升序或降序对数据进行排序,因此我们将在SSIS中使用可用的排序组件按升序对数据进行排序: 这是排序组件的配置方式: 以下是合并
插入-更新-删除数据。您可以使用
合并联接和条件拆分组件实现插入Updet删除。
让我们考虑一下,在SQLServer中有一个表<代码>雇员<代码>作为您的数据源组件,表EffersSTG作为您在数据库中存在的数据的源数据组件:
数据库应用程序源中的数据:
您需要对这两个数据集进行排序,原因是合并联接组件需要按升序或降序对数据进行排序,因此我们将在SSIS中使用可用的排序组件按升序对数据进行排序:
这是排序组件
的配置方式:
以下是合并联接
的配置方式:
合并数据后,您需要拆分数据,因为您执行了左外部联接
如果数据匹配,则只有两侧的数据才会存在,否则右侧将被替换为空值,因此右侧具有空值的不匹配数据将被视为新数据,所以您将插入该数据,其余数据将按列匹配,就像位置为示例与左侧不匹配,您将对其进行更新
由于您已将数据拆分为3个部分,因此我们需要3个目标
1-根据第一个条件,将插入数据,因此为此,我们将使用OLEDB目标组件
2-根据第二个条件,数据将被更新,因此为此,我们将使用OLEDB命令组件
编写更新命令:
UPDATE Employees
SET FullName=?,
Position=?
WHERE EmployeeID=?
DELETE FROM Employees
WHERE EmployeeID=?
这是映射概述:
3-根据第3个条件,您将使用OLEDB命令组件
删除暂存表中的记录,以写入更新命令:
UPDATE Employees
SET FullName=?,
Position=?
WHERE EmployeeID=?
DELETE FROM Employees
WHERE EmployeeID=?
这是映射概述:
谢谢你的回答,它帮助了我。我可以问你上述数据如何频繁流动。@EslamNano很抱歉,我不理解你的要求。我希望上述数据的生命周期在每5分钟后自动执行一次,可以吗?@EslamNano你可以问另一个问题并提供你需要的详细信息吗?好的,我会这样做。