2012学习数据流任务上.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SSIS 学习(2):数据流任务(上)数据流任务是SSIS中的一个核心任务,估计大多数ETL包中,都离不开数据流任务。所以我们也从数据流任务学起。 数据流任务包括三种不同类型的数据流组件:源、转换、目标。其中: 源:它是指一组数据存储体,包括关系数据库的表、视图;文件(平面文件、Excel 文件、Xml 文件等);系统内存中的数据集等。 转换:这是数据流任务的核心组件,如果说数据流任务是ETL的核心,那么数据流任务中的转换,则是ETL核心中的核心了。它包含非常丰富的数据转换组件,比如数据更新、聚合、合并、分发、排序、查找等。可以说SQL语句中有的功能,它都基本上运用起来了。 目标:与“源”相对应,也是一组数据存储体。包含表、视图;文件;多维数据集、内存记录集等。? 除以上三类组件外,还有一种组件,那就是”流(Flow)“,它形象地显示了数据从”源“,经过”转换“,最后到达”目的“地的一组路径。我们可以利用”流“,来查看数据,添加备注说明等。 下面一幅图,就充分展示了源、转换、目的、流的关系。? 下面我们以将IIS Log 导入数据库为例,来介绍如何进行数据流任务开发。 在开发之前,我们先来看看IISlog 的结构,如图: 它基本上记录了网页浏览的所有信息,如日期、时间、客户IP、服务器IP、页面地址、页面参数等很多信息,我们再根据这些信息,在关系型数据库中,建立一张对应表,来记录这些信息。?代码? 万事俱备,下面我们就可以开始ETL的开发之旅了,打开Visual Studio 2008 工具,[文件]--[新建]--[项目],选择“Integration Services 项目”,ETL 的开发界面就跃入眼帘,这是从事.Net 开发的朋友们非常熟悉的界面。打开左边“工具箱”,将“数据流任务”拖到主窗口“控制流面板”,如图所示:  然后双击“控制流”面板上的“数据流任务”,进入“数据流”面板,这两部分UI没有什么差异,只是所实现的功能不同罢了。真正的数据流任务开发,从现在才算开始。 打开左边“工具箱”,可以看到有三大部分:数据流源、数据流转换、数据流目标。我们从“数据流源”中,将“平面文件源”拖到主窗口下,双击打开“平面文件源”编辑器,点击“新建”,打开平面文件连接管理编辑器,如图: ?? 输入连接名称,选择IisLog 文件,选择行分隔符、列分隔符,就可以从预览窗口看到数据的真面目了。 这里有一点要注意,不同的平面文件,其行分隔符、列分隔符都是不一样的,如果选不正确,将达不到你想要的效果,所有的数据都可能挤到一列中去了。一般行分隔比较简单,基本上都是以回车换行({CR}{LF})来分隔;列分隔符却不一样了,它既可以以任意文本字符来分隔,比如逗号(,)、分号(;)、冒号(:)tab符、竖线(|),以及常用的文字字符、数字字符,也可以定义每一列的固定宽度来分隔。这就需要视文件源不一样,分别对待了。 在平面文件连接管理器中,选择“高级”,还可以定义每一列的列名、数据类型、字符长度等信息。 等一切定义完成,点击确定,返回到平面文件编辑器界面,前面建立的连接将自动返回到“平面文件连接管理器”的下拉列表框中,下面就要以选择需要输出的列了,如图: ?  然后再选择“错误输出”,缺省选项如下图所示:?这一选项非常重要,是要求我们配置当源数据发生错误的时候该如何处理,一般源数据发生错误有两种情况:一是数据类型错误,比如日期格式错误、数字变字符了等;另一情况就是字符太长,超出列宽了。根据不同的情况,其处理方式也不一样,系统提供了三种解决办法: 忽略失败:是指如果某一行数据错误,忽略此行,不影响程序执行,继续导入其它数据。 重定向行:将错误的数据行,导入到另外一个数据流目标,供以后人工检查后,再重新处理。 组件失败:这是最严格的,只要遇到数据错误,组件立即失败,停止运行。 就IISLOg 这样的数据源文件来说,有错误数据行,那是是经常发生,但是这些少量数据错误,也不会影响最终的结果,我们就要以考虑容错性为主了,放宽对数据质量的要求,一般选择“忽略错误”,以方便程序继续运行。 一切都定义完后,我们看到“平面文件源”控件上,还有一个红色的叉(X),那是指没有为此数据源定义目标,那就是下一步要定义的。另外下面还有两个长线箭头,一个绿色,一外红色,其中绿色:表示正确数据流通路,红色表示错误数据流通路,如果前面定义错误“重定向行”,那么错误数据将沿着红色路径,流向错误数据存放地。 定义数据源目标,这可能要简单一些了,同理从左边工具箱中,看到有很多种类型的数据源目标,我们选择“OLE DB 目标”,将“平面文件源”控件下的绿色箭头连接到“OLE DB 目标”,然后双击,打开“OLE DB 目标编辑器”窗口,“新建”数据库连接,如图:?返回到“OLE DB 目

文档评论(0)

rKSIaVVUZK + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档