SQL Server BI Step by Step SSIS 3 --- 批量导入Excel表
2009-02-13 10:23:21 来源:WEB开发网核心提示: 上一次我们已经介绍了简单的数据导出和导入,但是只是对单一文件进行操作,如果我们想同时对一个目录下面的所有的文件执行数据导入怎么实现呢?相当简单,SSIS在控制流中提供了Foreach循环容器,很容易理解,它和序列容器相比就是能够循环的遍历执行,能够对指定枚举器的每个成员重复执行控制流: 可以看到,Foreac
上一次我们已经介绍了简单的数据导出和导入,但是只是对单一文件进行操作,如果我们想同时对一个目录下面的所有的文件执行数据导入怎么实现呢?相当简单,SSIS在控制流中提供了Foreach循环容器,很容易理解,它和序列容器相比就是能够循环的遍历执行,能够对指定枚举器的每个成员重复执行控制流:
可以看到,Foreach循环窗器遍历文件夹可以通过一些设置或者是正则来匹配,使用 Foreach 循环容器,可以枚举:
• ADO 记录集行和架构信息
• 文件和目录结构
• 系统、包和用户变量
• SQL 管理对象 (SMO)
首先我们准备一下数据,把上次生成的Excel文件重命名为Product1.xls,新建一个Product2.xls,复制Product1.xls中的ProductID<800的行到新建的Product2.xls中(注意两个Excel的Sheet名字一致),然后在我们的SSIS项目中新建一个ForeachInput包,Foreach 循环容器容器进来,双击进行集合设置,在文件夹处指定我们Excel文件所在的文件路径,比如F: ,文件名处写*.xls,这样就能够匹配出所有的后缀名为xls的文件,然后单独执行容器里面的流程,不过在我们的容器中需要去访问每一个Excel文件,我们必须获得每一个枚举变量也就是文件的名称,可以通过设置变量映射实现.
如上图,新建变量后,每次找到一个与条件相匹配的文件时,Foreach 循环容器就会将用该文件名填充用户定义的变量.同理,当我们遍历其它对象时,也可以采用变量的方式进行映射,获得遍历到的单个匹配对象.
- ››SQL Server 2008 R2 下如何清理数据库日志文件
- ››sqlite 存取中文的解决方法
- ››SQL2005、2008、2000 清空删除日志
- ››SQL Server 2005和SQL Server 2000数据的相互导入...
- ››sql server 2008 在安装了活动目录以后无法启动服...
- ››sqlserver 每30分自动生成一次
- ››sqlite 数据库 对 BOOL型 数据的插入处理正确用法...
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
更多精彩
赞助商链接