如何在SSIS中解析文本文件

时间:2015-01-02 23:41:44

标签: ssis

我有一个文本文件,我想解析成几个文本文件。该文件太大,无法在Excel中打开。所以,我最好的猜测是在SSIS中以某种方式做到这一点。 (真的,因为我现在知道该怎么做。)我可以在Notepad ++中手动完成,但我需要一个自动化的解决方案。

源文本文件没有标题,包含各种列数的记录,所有类似的记录都组合在一起,文件是以管道分隔的。

以下是我要解析的示例文本文件:

A|stuff CRLF
A|more_stuff CRLF
B|stuff|more_text CRLF
B|more_stuff|yet_more_text CRLF

(CRLF是行尾分隔符。正如您所看到的,A' A'记录的列数与' B'记录的列数不同。)

我想将第一列中具有相同值的所有记录放入单独的文本文件中。也就是说,我想把所有的' A'记录到一个文本文件中,我想把所有' B'记录到另一个文本文件中。我不想要通过SQL表。这在SSIS中是否可行?如果是这样,我该怎么办?如果没有,最适合这种情况的工具是什么?

2 个答案:

答案 0 :(得分:0)

将数据流任务添加到包后,您可以使用条件拆分。在条件拆分中,您需要标记A和B使用某种表达式的内容。在你的情况下,它将是这样的:输出名称= A,条件将是[列的名称] ==“A”。对B也做同样的事情,然后当您将输出箭头连接到平面文件目的地时,您可以选择将哪个输出放在哪个文本文件中。

答案 1 :(得分:0)

可以使用Flatfilesource,Derivedcolumns,ConditionalSplit转换。表示具有单列的每一行。为此提供输入文件中没有的列分隔符(例如。^)。

FlatFileSource

DerivedColumns z.png

ConditionalSplit

DataFlow task