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

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

时间:2023-01-10 12:02:58浏览次数:45  
标签:行集 Pipeline 位于 任务 信息 SSIS 循环 Foreach 数据流


SQL Server 2008R2

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


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

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

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

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


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

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


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

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

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

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


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

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


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

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


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

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


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

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


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

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

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

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

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

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


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

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


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

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

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


启动 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”已完成: 成功。


标签:行集,Pipeline,位于,任务,信息,SSIS,循环,Foreach,数据流
From: https://blog.51cto.com/hzc2012/6000177

相关文章

  • Java循环运行时暂停一段时间
    GitHub项目地址Gitee项目地址Java在运行for循环时,希望可以每个循环暂停一段时间。使用sleep方法即可:for(inti=0;i<10;i++){try{System.ou......
  • Java循环运行时暂停一段时间
    GitHub项目地址Gitee项目地址Java在运行for循环时,希望可以每个循环暂停一段时间。使用sleep方法即可:for(inti=0;i<10;i++){try{System.o......
  • java循环结构中局部变量和成员变量
    前言在前两篇文章中,壹哥给大家讲解了Java里的条件分支,包括if和switch两种情况。我们知道,除了条件分支结构,还有循环结构,所以接下来的一个学习重点就是Java里的循环。但在学......
  • 前端高级进阶-事件循环
    事件循环浏览器的进程模型何为进程?程序运行需要有它自己专属的内存空间,可以把这块内存空间简单的理解为进程每个应用至少有一个进程,进程之间相互独立,即使要通信,也需要......
  • PGSQL循环语句FOR每一条记录,PGSQL循环每一行
    CREATEORREPLACEFUNCTIONtuomin()RETURNSVOIDAS$$DECLAREt_rowRECORD;BEGINFORt_rowin(SELECT*FROMuserx)LOOPupdateuserxset......
  • [VueJsDev] 基础知识 - ES6循环使用手册
    [VueJsDev]目录列表https://www.cnblogs.com/pengchenggang/p/17037320.htmlES6循环使用手册:::details目录目录ES6循环使用手册Array.1:filter()方法Array.2:......
  • 关于for循环中remove方法使用问题
    //直接forEachList<String>k=newArrayList<>();k.add("1");k.add("2");k.add("3");k.add("4");for(Stringd:k){k.remove(d);}//for循环List<String>k=......
  • Flutter 陈航 23-事件循环 Event Loop 异步 线程 Isolate
    本文地址目录目录目录23|单线程模型怎么保证UI运行流畅?EventLoop事件循环模型微任务队列异步任务Future简单案例官方综合案例改造后的案例异步函数同步等待await不......
  • 事件循环
    进程和线程进程:计算机运行的程序,操作系统管理程序的一种方式线程:运行调度的最小单位,被包含在进程中浏览器的事件循环1.JavaScript是单线程的,但JavaScript的线程应该......
  • JAVA基础之循环
    一.For循环1.结构 语句最简形式为: for(;;) 2.一般形式为: for(单次表达式;条件表达式;末尾循环体) { 中间循环体; }for(初始化;布尔表达式;更新){......