使用SSIS包将多个Excel文件导入SQL Server 2008 R2?

时间:2012-04-12 11:22:19

标签: sql-server excel ssis sql-server-2008-r2

我必须使用SSIS包从两个不同的Excel工作表中将数据插入到两个表中。

那么,请有人告诉我如何使用SSIS包将多个Excel文件导入SQL Server 2008 R2?

3 个答案:

答案 0 :(得分:1)

使用Foreach循环容器 - > Foreach文件枚举器。然后将您的数据流放在Foreach循环容器中。 每个Excel文件中的表结构和工作表名称必须相同。

这是很好的教程: http://bi-polar23.blogspot.com/2007/08/loading-multiple-excel-files-with-ssis.html

答案 1 :(得分:0)

因为你只有2个excel文件而且只有两个表我不明白为什么要使用foreach循环。只需按照this链接直接执行即可

如果您需要从两个excel文件插入两个数据库,您可以使用多播组件来创建数据集的副本

答案 2 :(得分:0)

您可以创建并使用变量来保存Excel文件路径,然后在for-each-loop容器中实施该程序包以遍历文件夹中的每个excel文件。确保文件具有相似的数据格式和相同的扩展名。 在Visual Studio中创建一个集成服务项目,然后执行以下步骤:

  1. 右键单击画布并添加变量,例如“ FilePath”并设置类型 作为字符串

  2. 将for-each循环拖到画布上

enter image description here

  1. 右键单击for-each-loop,然后选择“编辑”并添加路径和文件扩展名,然后从“变量映射”选项卡中选择变量,如下所示:

enter image description here

enter image description here

  1. 在循环中添加一个数据流任务,然后双击以打开它。

enter image description here

  1. 添加Excel源和OLEDB目标(如果目标是SQL Server)。通过右键单击这些控件并选择“编辑”,您可以为Excel及其数据表选择适当的文件夹,并在目标位置指定SQL Server数据库凭据。使用蓝色箭头连接源和目标。如果需要,检查并修改列之间的映射。

enter image description here

enter image description here

enter image description here

  1. 创建一个表达式以将每个文件读取到变量。这可以通过选择创建的“ ExcelConnectionManager”并选择其“ Expression”属性并展开以将变量设置为“ ExcelFilePath”来完成。

enter image description here

enter image description here

  1. 就是这样。您可以通过进入“控制流”选项卡并选择“开始”来执行包。 enter image description here

参考:https://www.encorebusiness.com/blog/import-data-from-multiple-excel-files-sql-ssis/