我是SSIS的新手。我正在尝试将数据从excel加载到sql server表。如果数据已经存在于表中我必须做什么然后我将它写入临时表或文件(如果不存在)那么我必须插入表中。
我们正在使用sql server 2005.我正在使用查找转换来实现这一点。但它不起作用。我能做到吗?
请给我一些提示。非常感谢你的帮助。
此致 VG。
答案 0 :(得分:0)
我会写下概念性步骤 - 而不是给出逐步解决方案。在我看来,这对于发展理解更有帮助。如果您遇到任何困难,请告诉我们。
第1步:
首先将文件加载到临时表中。您不需要手动创建表;让BIDS为您创造它。更改表以添加新列 - ALREADY_EXISTS - BIT数据类型。
您需要使用数据流任务。在其中,使用Excel数据源和ADO目标。
步骤2a: 使用临时表和最终目标表上的内连接在SSMS中编写sql语句。确保您提出的查询给出了您期望的结果。使用此SELECT语句更新临时表中的ALREADY_EXISTS列。
第2步: 将执行SQL任务放在控制界面上。使用步骤2中的查询。
第3步: 在控制界面上放置另一个DFT。编写一个普通的SELECT语句来获取所有列 - 包括ALREADY_EXISTS。
使用条件拆分来确定新记录和现有记录,并相应地指向它们的目的地。
另外,请阅读Merge语句,这是SQL Server 2008中引入的一项功能。
请分享您使用此解决方案的经验。