本文配套源码
上一次我们已经介绍了简单的数据导出和导入,但是只是对单一文件进行操作,如果我们想同时对一个目录下面的所有的文件执行数据导入怎么实现呢?相当简单,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文件,我们必须获 得每一个枚举变量也就是文件的名称,可以通过设置变量映射实现.
时间: 2024-09-27 15:46:12