SSIS中的复杂平面文件

3

SSIS在处理所有记录都相同时的平面文件方面表现很好,但在稍微复杂一些的情况下表现不佳。

我想导入一个类似于这样的文件 -

Customer: 2344
Name:     John Smith

Item     Description       Price    Qty
543455   Widget 1           4.00      2
543556   Widget 2           8.00      1

我希望将此转化为以下输出 -
2344, John Smith, 543455, Widget 1, 4.00, 2
2344, John Smith, 543556, Widget 2, 8.00, 1

我想不出一个简单的方法来做这件事。有人有什么建议吗?还是我需要一个更好的ETL工具?


1
虽然 Ed 有一个好主意,但我强烈建议你至少尝试从提供文件的人那里获取一个更好格式化的文件。我知道这并不总是可能的,但我总是尝试获得我喜欢的结构,并且90%以上的时间,他们会满足我的要求。 - HLGEM
2个回答

5

我发现在SSIS中处理这种半结构化输入文件的唯一成功方法是使用脚本任务逐行读取它,将输出存储在文本文件中(然后将其用作进一步处理的数据源)。

我从未尝试过在数据流任务中执行此操作,我想那会很困难。


+1 这是我所知道的解决这个问题的唯一方法。 - rfonn
3
除了使用脚本任务外,还可以在数据流任务中使用“脚本组件源”。这样可以消除暂存文件的需求。 - unclepaul84
这是一个好主意,因为你可以使用脚本组件输出的缓冲区,在最终着陆数据之前对数据进行任何处理。 - rfonn

1

脚本任务是拯救的关键。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接