5

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

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

4

3 回答 3

1

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

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

于 2012-04-12T12:03:14.380 回答
1

因为您只有 2 个 excel 文件和两个表,所以我不明白为什么要使用 foreach 循环。只需点击链接并直接进行

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

于 2012-04-12T13:36:42.503 回答
0

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

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

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

在此处输入图像描述

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

在此处输入图像描述

在此处输入图像描述

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

在此处输入图像描述

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

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

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

在此处输入图像描述

在此处输入图像描述

  1. 就是这样。您已准备好通过进入控制流选项卡并选择“开始”来执行包。 在此处输入图像描述

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

于 2018-08-07T06:15:44.003 回答