ETL 循环导入 平面文件

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 解决方案:

也很简单,在数据源的高级里面(也就是文本的高级设置),手工设定每个字段允许的最大宽度就行了.
而不是设置数据库表的这个字段长度。

 

posted @ 2014-09-21 00:19  iFreeSoft  阅读(346)  评论(0编辑  收藏  举报