本文配套源码
上次我们并没有实现Excel中的数据与数据库中的数据进行整合,存在即更新,不存在即插入.这次主要 介绍几种方法来实现:
1.使用Lookup
2.使用execute SQL task调用存储过程
3. 使用script component脚本实现
4.使用MERGE 语句(SQL SERVER 2008)
5.使用上次我们 用到的Merge来实现
6.使用第三方组件SCD Component
看起来能够实现的方法确实不少, 我们来一一介绍,介绍的同时也会介绍一些组件的应用,同理在我们实现其它功能时,也可以同样使 用.
Lookup
新建一个包MergeDataLookUp,我们把ForeachInput中的复制过来,我们实现遍 历Excel的同时,实现Excel中的数据与数据库中的数据合并,在数据流中,在Excel数据源的下面,删除原来 的组件,拖入LookUp组件,选择OLE DB连接后,进行查找的设置:
可以看到,我们是根据Excel数据中的ProductNumber字段去数据库中查找对应的数据(列ProductID), 即找到对应的数据时,ProductID会作为新列添加到我们的数据流中,找不到时则会出现错误,点击上面的 标出的配置错误输出,
这样对于Lookup的两个输出,正常的输出也就是找到了ProductNumber对应的数据,此时做更新操作.上 图中我们已经进行了配置,当某一行没有找到时,我们将这行数据重新定行到错误输出,此时再进行插入操 作.我们在正常的输出上添加OLE DB Command,来执行我们的Update语句.
时间: 2024-12-31 13:26:05