SSIS【Foreach 循环容器_Foreach ADO.NET 架构行集枚举器】(循环导入一个Excel所有工作簿)

SQL Server 2008R2

SSIS_Foreach 循环容器_Foreach ADO.NET 架构行集枚举器(循环导入一个Excel所有工作簿)


1.本节主要是循环把工作簿Sheet1、Sheet2、Sheet3中的数据插入到数据库中。设计excel 表如下:

SSIS【Foreach 循环容器_Foreach ADO.NET 架构行集枚举器】(循环导入一个Excel所有工作簿)_第1张图片

SSIS【Foreach 循环容器_Foreach ADO.NET 架构行集枚举器】(循环导入一个Excel所有工作簿)_第2张图片

SSIS【Foreach 循环容器_Foreach ADO.NET 架构行集枚举器】(循环导入一个Excel所有工作簿)_第3张图片


2.设计控制流,将添加3个数据源。

SSIS【Foreach 循环容器_Foreach ADO.NET 架构行集枚举器】(循环导入一个Excel所有工作簿)_第4张图片


5.设计数据源【kk1】,右键【连接管理器】空白处,选择【新建ADO.NET连接】。

下拉提供程序,选择【Microsoft Jet 4.0 OLE DB Provider】,下面“数据库文件名”选择要导入的excel 文件。

SSIS【Foreach 循环容器_Foreach ADO.NET 架构行集枚举器】(循环导入一个Excel所有工作簿)_第5张图片



6.选择左边的【全部】,在高级中,Extended  Properties 的值设为 【Excel 5.0】,测试成功,确定!

SSIS【Foreach 循环容器_Foreach ADO.NET 架构行集枚举器】(循环导入一个Excel所有工作簿)_第6张图片


7.右键【新建连接】,选择【EXCEL】,选择excel的文件路径,确定完成!再创建一个【OLE DB 目标】目标数据源,将用于把数据插入到此库,创建过程不说了。

SSIS【Foreach 循环容器_Foreach ADO.NET 架构行集枚举器】(循环导入一个Excel所有工作簿)_第7张图片


8.现在编辑【Foreach 循环容器】,在  [集合] 中选择【Foreach ADO.NET 架构行集枚举器】,数据源选择【kk1】,架构选择【表】



9.定义映射变量 myTable,类型为Sring。循环容器设计完成!

SSIS【Foreach 循环容器_Foreach ADO.NET 架构行集枚举器】(循环导入一个Excel所有工作簿)_第8张图片


10. 双击【数据流任务】增加一个【Excel 源】和【OLE DB 目标】。

SSIS【Foreach 循环容器_Foreach ADO.NET 架构行集枚举器】(循环导入一个Excel所有工作簿)_第9张图片

11. 编辑【Excel 源】,选择变量【User::myTable】。或者右键【Excel 源】—>【显示高级编辑器】选择变量设计。


SSIS【Foreach 循环容器_Foreach ADO.NET 架构行集枚举器】(循环导入一个Excel所有工作簿)_第10张图片SSIS【Foreach 循环容器_Foreach ADO.NET 架构行集枚举器】(循环导入一个Excel所有工作簿)_第11张图片


12. 记得【OLE DB 目标】先创建目标数据库!



13. 完美运行!!结果如下:

SSIS【Foreach 循环容器_Foreach ADO.NET 架构行集枚举器】(循环导入一个Excel所有工作簿)_第12张图片


启动 SSIS 包“Foreach.dtsx”。
信息: 0x4004300A,位于 数据流任务, SSIS.Pipeline: 正开始验证阶段。
信息: 0x4004300A,位于 数据流任务, SSIS.Pipeline: 正开始验证阶段。
信息: 0x40043006,位于 数据流任务, SSIS.Pipeline: 正开始执行阶段的准备工作。
信息: 0x40043007,位于 数据流任务, SSIS.Pipeline: 正开始执行之前阶段。
信息: 0x4004300C,位于 数据流任务, SSIS.Pipeline: 正开始执行阶段。
信息: 0x40043008,位于 数据流任务, SSIS.Pipeline: 正开始执行之后阶段。
信息: 0x4004300B,位于 数据流任务, SSIS.Pipeline: “组件“OLE DB 目标”(29)”已写入 3 行。
信息: 0x40043009,位于 数据流任务, SSIS.Pipeline: 正开始清除阶段。
信息: 0x4004300A,位于 数据流任务, SSIS.Pipeline: 正开始验证阶段。
信息: 0x40043006,位于 数据流任务, SSIS.Pipeline: 正开始执行阶段的准备工作。
信息: 0x40043007,位于 数据流任务, SSIS.Pipeline: 正开始执行之前阶段。
信息: 0x4004300C,位于 数据流任务, SSIS.Pipeline: 正开始执行阶段。
信息: 0x40043008,位于 数据流任务, SSIS.Pipeline: 正开始执行之后阶段。
信息: 0x4004300B,位于 数据流任务, SSIS.Pipeline: “组件“OLE DB 目标”(29)”已写入 3 行。
信息: 0x40043009,位于 数据流任务, SSIS.Pipeline: 正开始清除阶段。
信息: 0x4004300A,位于 数据流任务, SSIS.Pipeline: 正开始验证阶段。
信息: 0x40043006,位于 数据流任务, SSIS.Pipeline: 正开始执行阶段的准备工作。
信息: 0x40043007,位于 数据流任务, SSIS.Pipeline: 正开始执行之前阶段。
信息: 0x4004300C,位于 数据流任务, SSIS.Pipeline: 正开始执行阶段。
信息: 0x40043008,位于 数据流任务, SSIS.Pipeline: 正开始执行之后阶段。
信息: 0x4004300B,位于 数据流任务, SSIS.Pipeline: “组件“OLE DB 目标”(29)”已写入 3 行。
信息: 0x40043009,位于 数据流任务, SSIS.Pipeline: 正开始清除阶段。
SSIS 包“Foreach.dtsx”已完成: 成功。


你可能感兴趣的:(SSIS【Foreach 循环容器_Foreach ADO.NET 架构行集枚举器】(循环导入一个Excel所有工作簿))