SQL2005-SSIS 对同一个文件中的不同行类型做不同处理
2005-08-10 14:44
681 查看
SQL2005-SSIS 对同一个文件中的不同行类型做不同处理
某些时候数据来源是文本文件,有时候我们经常看到包含主/细、父/子记录在同一个文本文件中,这在DTS中是非常难以处理的,但这种情况在SSIS中有所改变
在本文中,我将制造这样一个例子让你明白如何处理这种类型的要求
大体的数据流构造像下面这样,我会仔细加以讲解:
下面这个图显示了我们要处理的数据来源的文本格式,其中含有“M”的为主行,含有“D”的为子行
我们将建立一个flat file connection manager指向该文件,在这里,我并不打算把行拆分出来,暂时把整行读在一列中
下一步我们将拖曳一个 Flat File Source Adapter 组件到数据流面板,并指定来源和上面所建立的连接来源,且指定输出列
完成这个操作后,我们将用 Conditional Split Transform 组件来把文件中的记录流向不同的输出,配置如下
现在我们已经完成了主从行的不同流向,下一步我们将用 Script Transform 把行中的信息拆开到不同的列中去
使用Script Transform组件的第一步是添加一些输出列,当数据经过这个组件时,下游的组件将可以看到这些列
到现在,我们只定义了Script Transform 组件将产生这些列,但并没有具体的指定列中的内容,下面我们可以通过设计以下脚本来实现不同列的内容是什么
最后,我们只需放上2个Raw File Destination Adapter组件接收输出即可,下面是包的运行结果
文章来源:http://www.sqlis.com/default.aspx?54
某些时候数据来源是文本文件,有时候我们经常看到包含主/细、父/子记录在同一个文本文件中,这在DTS中是非常难以处理的,但这种情况在SSIS中有所改变
在本文中,我将制造这样一个例子让你明白如何处理这种类型的要求
大体的数据流构造像下面这样,我会仔细加以讲解:
下面这个图显示了我们要处理的数据来源的文本格式,其中含有“M”的为主行,含有“D”的为子行
我们将建立一个flat file connection manager指向该文件,在这里,我并不打算把行拆分出来,暂时把整行读在一列中
下一步我们将拖曳一个 Flat File Source Adapter 组件到数据流面板,并指定来源和上面所建立的连接来源,且指定输出列
完成这个操作后,我们将用 Conditional Split Transform 组件来把文件中的记录流向不同的输出,配置如下
现在我们已经完成了主从行的不同流向,下一步我们将用 Script Transform 把行中的信息拆开到不同的列中去
使用Script Transform组件的第一步是添加一些输出列,当数据经过这个组件时,下游的组件将可以看到这些列
到现在,我们只定义了Script Transform 组件将产生这些列,但并没有具体的指定列中的内容,下面我们可以通过设计以下脚本来实现不同列的内容是什么
最后,我们只需放上2个Raw File Destination Adapter组件接收输出即可,下面是包的运行结果
文章来源:http://www.sqlis.com/default.aspx?54
相关文章推荐
- 关于特殊字体,字体文件及一个TextView中不同字体大小和颜色的处理
- Delphi如何处理不同类型的文件
- Delphi如何处理不同类型的文件
- “System.BadImageFormatException”类型的未经处理的异常在 PurchaseDevices.Access.dll 中发生 其他信息: 未能加载文件或程序集“System.Data.SQLite, Version=1.0.66.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139”或它的某一个依赖项。试图加载格式不正确
- log4cplus:一个按天为单位、按不同类型归类的配置文件
- IIS如何增加处理不同的文件扩展名(MIME类型)?
- 通过更改plist文件,跳转同一个控制器类型的不同对象
- asp.net不同类型文件读取处理
- shell 统计一个文件夹下不同类型文件的个数
- C#中,有两个不同的CS文件,但这两个文件具有相同的命名空间(namespace)。一个CS文件要用另一个CS文件中的类的话,下面有一个处理方式。
- 一个语句写到不同行和不同语句写到一到一行的处理方法
- JAVA 文件上传后台判断浏览器的类型以及JDK1.5和1.6处理的不同
- “System.BadImageFormatException”类型的未经处理的异常在 Castle.Windsor.dll 中发生 其他信息: 未能加载文件或程序集“Gis”或它的某一个依赖项。
- 如何通过一个方法来传入并处理不同泛型类型的集合
- 当使用dbeaver导出多个sql文件,怎么快速的把它合并成一个文件,可以针对多种不同的类型
- 团队开发中,如何处理一个站点不同Web应用通用Session(ZT)
- 40亿个有序不同的数的文件中找一个缺失的数
- 不同类型文件“可读写”的含义
- 、写出xml schema与xml dtd文件相比较的优点。 2、完成一个xml schema文件定义,定义一个根元素水果,水果标签中包含苹果、梨、西瓜三个元素,三个元素均为字符类型。
- 系统多种资源文件代码示例(例如一个系统同时具有中文简体,中文繁体,英文,日文等不同资源文件)(示例代码下载)