SSIS - 从多部分文本文件中读取

时间:2014-05-12 14:34:48

标签: ssis

我正在尝试构建一个SSIS包,该包从文本文件中读取并输出到另一个文本文件中。问题是,我试图读取的文件有多个部分,我找不到任何显示如何执行此操作的文件。

该文件如下所示:

[sectionA]
key1=value1
key2=value2
key3=value3

[sectionB]
key4=value4
key5=value5
key6=value6

我从几个从平面文件源读取的教程开始,但数据被拉入同样丑陋的表格中。希望有人对此有一些意见。

1 个答案:

答案 0 :(得分:2)

SSIS平面文件连接是为了速度而构建的,所以它不允许这样的细节。

我仍然会使用平面文件连接,但只是将所有数据加载到SQL表中的单个宽NVARCHAR列中。我会在该表中添加一个IDENTITY列以获取相对的行号。

然后我将使用SQL添加下游任务以按章节选择,例如对于A节行:

WHERE File_Row_Number > ( SELECT MIN ( File_Row_Number ) FROM Staging_Table WHERE nvarchar_column = '[sectionA]' ) AND File_Row_Number < ( SELECT MIN ( File_Row_Number ) FROM Staging_Table WHERE nvarchar_column = '[sectionB]' )

如果拆分要求与显示的要求一样简单,我可以在SQL中尝试它们,例如

How do I split a string so I can access item x?

但我可能倾向于在脚本任务中使用Strings.Split,其中代码将更简单,更安全。