将分层平面文件读入SSIS

时间:2010-04-07 22:36:01

标签: ssis

我的平面文件采用分层格式,如下所示:

区域| AREACODE | AreaDescription

地区| RegionCode | RegionDescriptoin

区| ZoneCode | ZoneDescription

区| DistrictCode | DistrictDescription

路线| RouteCode | RouateDescription

记录|名称|地址| Ect的

RouteFooter

路线| RouteCode | RouateDescription

记录|名称|地址| Ect的

RouteFooter

DistrictFooter

区| DistrictCode | DistrictDescription

路线| RouteCode | RouateDescription

记录|名称|地址| Ect的

记录|名称|地址| Ect的

RouteFooter

路线| RouteCode | RouateDescription

记录|名称|地址| Ect的

RouteFooter

DistrictFooter

ZoneFooter

RegionFooter

AreaFooter

我必须将它带入SSIS并使用有关Record行的信息以及有关当前记录行的标题的信息。以及来自其他几个来源的信息,并输出一个更简单的平面文件。

我想将上面的平面文件读入一个结构,每个行都包含一个包含相应标题信息的记录。

我的问题是,如果可能的话,最好的方法是什么?

1 个答案:

答案 0 :(得分:0)

首先,如果你在3,987,986号线上,你怎么知道你在哪种类型的线?你怎么知道什么与什么有关?是否有可能性以更好的格式获得这个?在花费大量时间之前(并且不要自欺欺人,这需要花费大量时间来设置和测试)我会将文件踢回提供者并以不同的格式请求它。你不会总是得到它,但你至少应该尝试。

当我在DTS中完成此操作时,每行的第一个字符告诉我该行引用的结构。我将all导入到一个具有两列的临时表中,一列用于记录类型数据,另一列用于其余列。然后我将其余部分解析为记录类型的登台表,其中包含该类记录的正确列结构(以及您可能需要执行关系的任何文件),然后清理然后导入到prod表。因为你也有不同数量的列我会尝试这种方法(只有你可能需要手动填充一些列而不是直接从文件中找出),还要给每个记录在登台表中提交一个标识。这将帮助你弄清楚我认为的现实。