http://blog.csdn.net/zlp321002/article/details/3413365
ETL设计之-Foreach 循环容器
应用场景:
批量导入某一文件夹下的所有文件.就可以用foreach循环容器里面的文件枚举。
要求:需要把D:/Temp目录下所有csv导入某一个表。如下图:
步骤:
1、在控制流中拖拽一个Foreach循环容器。如下图:
2、配置Foreach循环容器。
a、编辑Foreach循环容器,配置集合方式和参数参考如下:
说明:选择枚举:Foreach 文件枚举器
选择文件夹: D:/Temp
a、编辑Foreach循环容器,配置变量映射,如下图:
需要新建一个Foreach循环变量,未传递给平面文件的路径。
3、配置平面文件入库。
a、在控制流中拖拽一个数据流任务在Foreach循环容器中,如下图:
b、配置数据流任务的平面文件。双击控制流,进入数据流。
1)选择平面文件管理器,如下图:
2)配置OLDB目标,环境如下图:
4、执行该包,如下图:
5、包成功导入完成,查看数据库数据:
导入数据中间会出现 字段被截断的错误,请参照下面的方法解决。
http://bbs.csdn.net/topics/250056337
1 故障分析:
理由很简单,默认的平文件,每个字段的宽度是50,
如果你的平面数据源的字段超过这个,则会出现上面这个错误。
2 解决方案:
也很简单,在数据源的高级里面(也就是文本的高级设置),手工设定每个字段允许的最大宽度就行了.
而不是设置数据库表的这个字段长度。