我是 SSIS 的新手。我正在尝试将数据从 excel 加载到 sql server 表。如果数据已经存在于表中,我必须做什么然后我将它写入临时表或文件,如果不存在,那么我必须插入到表中。
我们正在使用 sql server 2005。我正在使用查找转换来实现这一点。但它不起作用。有什么我可以实现的。
请给我一些建议。非常感谢您的帮助。
问候,VG。
我是 SSIS 的新手。我正在尝试将数据从 excel 加载到 sql server 表。如果数据已经存在于表中,我必须做什么然后我将它写入临时表或文件,如果不存在,那么我必须插入到表中。
我们正在使用 sql server 2005。我正在使用查找转换来实现这一点。但它不起作用。有什么我可以实现的。
请给我一些建议。非常感谢您的帮助。
问候,VG。
我会写下概念上的步骤——而不是给出一步一步的解决方案。在我看来,这对加深理解更有帮助。如果您在任何步骤上遇到困难,请告诉我们。
步骤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 中引入的一项功能。
请分享您对此解决方案的经验。