1

我试图弄清楚在将数据导入 SQL 之前是否可以在 SSIS 中预处理 CSV 文件。

我目前收到一个文件,该文件在一个平面文件中包含 8 个具有不同结构的表。

表由一行标识,其中表名由方括号封装,即 [DOL_PROD]

数据在标准 CSV 格式下方。首先是标题,然后是数据。

表格被一个空行分割,接下来的 7 个表格重复该过程。

[DOL_CONSUME]
TP Ref,Item Code,Description,Qty,Serial,Consume_Ref
12345,abc,xxxxxxxxx,4,123456789,abc

[DOL_ENGPD]
TP Ref,EquipLoc,BackClyLoc,EngineerCom,Changed,NewName

是否可以将其拆分为单独的 CSV 文件?或循环处理它?

我真的很希望能够使用 SSIS 自动执行这一切。

亲切的问候,

亚当

4

1 回答 1

1

您不能仅通过平面文件源和连接管理器来做到这一点。有两种方法可以实现您的目标:

您可以使用脚本组件作为行的源并处理文件,然后您可以以编程方式对文件执行任何操作。

在此处输入图像描述

另一种方法是读取您的平面文件,将每一行视为一列(即不指定分隔符),然后通过数据流转换,您将拆分行、识别表名、拆分流等。

我强烈建议您使用脚本组件,即使您必须先学习 .NET,因为第二个选项将是一场噩梦 :)。我会使用平面文件源从文件中提取行作为单列,然后在脚本组件中工作,而不是直接读取“原始”文件。

这是一个可以帮助您入门的资源:http: //furrukhbaig.wordpress.com/2012/02/28/processing-large-poorly-formatted-text-file-with-ssis-9/

于 2013-05-23T16:27:33.597 回答