(完整版)SSIS学习(2):数据流任务(上)_第1页
(完整版)SSIS学习(2):数据流任务(上)_第2页
(完整版)SSIS学习(2):数据流任务(上)_第3页
(完整版)SSIS学习(2):数据流任务(上)_第4页
已阅读5页,还剩4页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、SSIS学习( 2 ):数据流任务(上)数据流任务是SSIS中的一个核心任务,估计大多数ETL 包中,都离不开数据流任务。所以我们也从数据流任务学起。数据流任务包括三种不同类型的数据流组件:源、转换、目标。其中:源:它是指一组数据存储体,包括关系数据库的表、视图;文件(平面文件、Excel文件、Xml文件等);系统内存中的数据集等。转换:这是数据流任务的核心组件,如果说数据流任务是ETL 的核心,那么数据流任务中的转换,则是ETL 核心中的核心了。它包含非常丰富的数据转换组件,比如数据更新、聚合、合并、分发、排序、查找等。可以说SQL 语句中有的功能,它都基本上运用起来了。目标:与 “源 ”相

2、对应,也是一组数据存储体。包含表、视图;文件;多维数据集、内存记录集等。除以上三类组件外,还有一种组件,那就是”流 (Flow)“,它形象地显示了数据从”源 “,经过”转换 “,最后到达 ”目的 “地的一组路径。我们可以利用”流 “,来查看数据,添加备注说明等。下面一幅图,就充分展示了源、转换、目的、流的关系。下面我们以将IIS Log导入数据库为例,来介绍如何进行数据流任务开发。在开发之前,我们先来看看IISlog的结构,如图:它基本上记录了网页浏览的所有信息,如日期、时间、客户IP 、服务器IP 、页面地址、页面参数等很多信息,我们再根据这些信息,在关系型数据库中,建立一张对应表,来记录这

3、些信息。代码万事俱备, 下面我们就可以开始ETL 的开发之旅了,打开 Visual Studio 2008工具, 文件->新建 ->项目 ,选择 “Integration Services项目 ”,ETL的开发界面就跃入眼帘,这是从事 .Net开发的朋友们非常熟悉的界面。打开左边“工具箱 ”,将 “数据流任务”拖到主窗口“控制流面板 ”,如图所示:然后双击 “控制流 ”面板上的 “数据流任务 ”,进入 “数据流 ”面板,这两部分 UI 没有什么差异,只是所实现的功能不同罢了。真正的数据流任务开发,从现在才算开始。打开左边 “工具箱 ”,可以看到有三大部分: 数据流源、 数据流转换、

4、 数据流目标。 我们从 “数据流源 ”中,将 “平面文件源 ”拖到主窗口下,双击打开 “平面文件源 ”编辑器,点击 “新建 ”,打开平面文件连接管理编辑器,如图:输入连接名称,选择 IisLog 文件,选择行分隔符、列分隔符,就可以从预览窗口看到数据的真面目了。这里有一点要注意,不同的平面文件, 其行分隔符、 列分隔符都是不一样的,如果选不正确,将达不到你想要的效果, 所有的数据都可能挤到一列中去了。 一般行分隔比较简单, 基本上都是以回车换行( CR LF )来分隔; 列分隔符却不一样了, 它既可以以任意文本字符来分隔,比如逗号(,)、分号(;)、冒号(:) tab 符、竖线 (|) ,以及

5、常用的文字字符、数字字符,也可以定义每一列的固定宽度来分隔。这就需要视文件源不一样,分别对待了。在平面文件连接管理器中,选择“高级 ”,还可以定义每一列的列名、数据类型、字符长度等信息。 等一切定义完成,点击确定,返回到平面文件编辑器界面,前面建立的连接将自动返回到“平面文件连接管理器 ”的下拉列表框中,下面就要以选择需要输出的列了,如图:然后再选择 “错误输出 ”,缺省选项如下图所示:这一选项非常重要,是要求我们配置当源数据发生错误的时候该如何处理,一般源数据发生错误有两种情况:一是数据类型错误,比如日期格式错误、数字变字符了等; 另一情况就是字符太长,超出列宽了。根据不同的情况,其处理方式

6、也不一样,系统提供了三种解决办法:忽略失败 :是指如果某一行数据错误,忽略此行,不影响程序执行,继续导入其它数据。重定向行 :将错误的数据行, 导入到另外一个数据流目标,供以后人工检查后,再重新处理。组件失败 :这是最严格的,只要遇到数据错误,组件立即失败,停止运行。就 IISLOg这样的数据源文件来说,有错误数据行,那是是经常发生,但是这些少量数据错误,也不会影响最终的结果,我们就要以考虑容错性为主了, 放宽对数据质量的要求,一般选择“忽略错误 ”,以方便程序继续运行。一切都定义完后,我们看到“平面文件源 ”控件上,还有一个红色的叉( X), 那是指没有为此数据源定义目标,那就是下一步要定义

7、的。另外下面还有两个长线箭头,一个绿色,一外红色,其中绿色:表示正确数据流通路,红色表示错误数据流通路,如果前面定义错误“重定向行 ”,那么错误数据将沿着红色路径,流向错误数据存放地。定义数据源目标,这可能要简单一些了,同理从左边" 工具箱 " 中,看到有很多种类型的数据源目标,我们选择 “OLEDB目标 ”,将 “平面文件源”控件下的绿色箭头连接到“OLEDB标”,然后双击,打开“OLEDB目标编辑器”窗口, “新建 ”数据库连接,如图:目返回到 “OLE DB 目标编辑器 ”窗口,在数据访问模式下, 选择 “表或者视图 - 快速加载 ”一项,然后再选择对应的表 , 如图:下面配置列映射,如图:如果没有的列,直接忽略即可(前提是表中该列允许为空),后面仍然是配置错误处理方式,参照平面文件源错误处理方式即可。到此为止,一个简单的数据流任务就基本上完成了,点击运行,我们期待已久的结果出现了。当然,在实际开发过程中,可能并没有这么顺利,会遇到很多各种各样的问题,在这篇文章中我们很少提及, 主要是因为这仅是个开始,没有涉及到这么深入,在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论