blog.Toby

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  130 随笔 :: 2 文章 :: 150 评论 :: 0 Trackbacks

某些时候数据来源是文本文件,有时候我们经常看到包含主/细、父/子记录在同一个文本文件中,这在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

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=449886

posted on 2007-10-07 16:16 渠上月 阅读(309) 评论(0)  编辑  收藏 所属分类: sql (sqlServer)

只有注册用户登录后才能发表评论。


网站导航: