随笔分类 -  SSIS学习系列文章

SSIS是SQL Server Integraion Services的简称。是生成高性能数据集成解决方案(包括数据仓库的提取、转换和加载 (ETL) 包)的平台。
SSIS组件转换_模糊查找转换
摘要:模糊查找转换与查找转换之间的不同之处在于:它使用了模糊匹配。查找转换使用同等连接在引用表中查找匹配记录。它返回引用表中完全匹配的项。或者不返回任何内容。与此相比,模糊查找转换使用模糊匹配返回引用表中一个或多个接近的匹配项。 模糊查找转换的引用数据源必须是sql2000或更高版本的数据库。而且在模糊匹配中,只能使用具有DT_WSTR和DT_STR数据类型做为输入列。完全匹配可以适用除DT_TEXT、DT_NTEXT和DT_IMAGE之外的所有数据类型,模糊查找转换的编辑框中有三个选项卡。我们现在就逐一介绍1.引用表选项卡属性说明OLEDB连接管理器使用列表框选择现有的 OLE DB 连接管理器. 阅读全文
posted @ 2012-07-17 10:18 guddujianxiao 阅读(3754) 评论(1) 推荐(2) 编辑
SSIS组件转换_查找转换
摘要:查找转换功能和模糊查找转换功能类似。只不过查找转换相比模糊转换容易的多。相当于模糊查找转换中的完全匹配设置,查找转换包含以下属性常规选项在常规选项卡中我们可以看到如图的一些设置:图中的具体含义如下:属性说明完全缓存在执行查找转换前,生成引用数据集并将其加载到缓存中。部分缓存在执行查找转换的过程中生成引用数据集。将在引用数据集内有匹配项的行加载到缓存中,并将数据集内没有匹配项的行加载到缓存中。无缓存在执行查找转换的过程中生成引用数据集。不向缓存中加载任何数据。缓存连接管理器将查找转换功能配置为使用缓存连接管理器。只有当选择了“完全缓存”选项时,此选项才可用。OLEDB 连接管理器将查找转换功能配 阅读全文
posted @ 2012-07-17 10:17 guddujianxiao 阅读(4087) 评论(0) 推荐(2) 编辑
SSIS组件转换_排序、合并、合并联转换
摘要:一、排序转换(Sort)排序转换功能是按升序或降序对输入流中的数据进行排序.并将排序后的数据复制到转换输出中.它类似于T-SQL中的order by 语句。下面以数据库AdventureWorks为例来介绍一下排序转换的使用。1.新建名为”SortDemo”的包,在控制流中拖放一个数据流任务,然后在连接管理器中建立一个OLE DB连接器,用于连接AdventureWorks数据库。2.在BIDS界面左边的变量工具箱中设置一个变量Count 类型是Int32。3.在数据流选项卡中拖放一个OLE DB数据源,连接AdventureWorks,选择Production.product.如图:4.拖放 阅读全文
posted @ 2012-07-17 10:16 guddujianxiao 阅读(5566) 评论(0) 推荐(2) 编辑
SSIS数据转换组件_模糊分组转换
摘要:模糊分组转换执行数据清理工作。它首先查找可能重复的行,然后选择要在对数据进行标准化的过程使用的规范数据行。模糊分组的任务编辑器有下面三个标签:1. 连接管理器使用列表框选择现有的 OLE DB 连接管理器,或使用“新建”按钮创建新的连接。 该功能主要是为模糊分组转换算法完成工作所需而需要创建临时 SQL Server 表。创建的表可能会很大,因此在生产服务其只有有限的可用磁盘空间时,因该考虑将模糊分组转换连接到Sql Server 的非生产实例中。则此转换性能可能会提高。2列该选项卡可以设置 用于对带有重复值的行进行分组。如图:若要配置该转换,您必须选择要在确定重复项时使用... 阅读全文
posted @ 2012-04-15 21:59 guddujianxiao 阅读(2535) 评论(1) 推荐(1) 编辑
SSIS数据转换组件_导出、导入转换
摘要:一 导出转换组件 导出列转换读取数据流中的数据,并将数据插入到指定的文件中.次转换使用成对的数入列:一列是要输出的数据,一列是将这些数据输出到哪些文件里.转换在处理时,数据将插入到指定的文件中.如果这些文件不存在,转换将创建这些文件,然后将数据写入到文件中.要写入的数据必须具有DT_Text、DT_NTEXT或DT_IMAGE数据类型。下面的例子中将介绍如何使用该转换工具。本例演示如何将数据库AdVentureWorks中Production.Document表中的Document列导出到文件中。创建一个文件夹E:\SSIS\SSISDemo\Export,导入的文件将放在这个文件夹中。新建. 阅读全文
posted @ 2012-04-14 16:11 guddujianxiao 阅读(5858) 评论(2) 推荐(0) 编辑
SSIS数据转换组件_复制转换、数据转换、行计数
摘要:一复制转换 复制列转换是一种很简单的转换机制。它主要是将一列或多列地数据复制一份。然后后续的工作可以对复制的列中的数据做任何操作。而不影响被复制列的数据。下面我们接着上一篇的条件性拆分的包来介绍如何使用复制转换。 将复制列转换从工具箱中 托动到数据流选项卡中。并于ExcelSaleOrderCout行计数连接。连接方向是行计数指向复制列转换。双击打开复制列,弹出编辑界面,选择要拷贝的列,并可以重命名。结果如下图:到此复制列转换工具配置完成,接下来你可以从工具箱中拖动任何控件与之连接。使用复制的列。二数据转换(Data Conversion)数据转换也是一个比较简单的转换组件,它是将输入列的.. 阅读全文
posted @ 2012-04-14 15:48 guddujianxiao 阅读(5049) 评论(0) 推荐(2) 编辑
SSIS数据转换组件_派生列、审核、字符映射转换和条件性拆分转换
摘要:一 派生列派生列转换通过对输入列进行类型转换或应用表达式得出新的结果。这个结果可以作为新列添加,也可以替换输入列。可以使用此转换执行下列任务: 1.将不同列的数据连接到一个派生列中。例如,可以使用表达式 FirstName + " " + LastName 将 FirstName 和 LastName 列中的值组合到名为 FullName 的单个派 生列中。 2.通过使用 SUBSTRING 之类的函数从字符串数据中提取字符,然后将结果存储到派生列中。例如,可以使用表达式 SUBSTRING(FirstName,1,1) 从 FirstName 列提取人名的首字母。 ... 阅读全文
posted @ 2012-04-14 11:46 guddujianxiao 阅读(9450) 评论(1) 推荐(2) 编辑
SSIS数据转换组件_聚合转换
摘要:聚合转换功能类似于sql语句中的聚合函数。它应用列值,并将结果作为新列复制到转换输出中。聚合转换支持下列运算功能运算说明Group by将数据集划分为组。任何数据类型的列都可用于分组。Sum对列中的值求和。只能对数值数据类型的列求和。Average返回列中值的平均值。只能对数值数据类型的列求平均值。Count返回组中项目的数量。Count distinct返回组中的唯一非空值的数量。Minimum返回组中的最小值。Maximum返回组中的最大值。添加并配置聚合转换,则包必须已含有至少一个数据流任务和一个数据源。这里已一个简单的例子来介绍一下如何配置聚合转换。本例子的内容为:聚合每个订单的总金额 阅读全文
posted @ 2012-04-14 10:50 guddujianxiao 阅读(5098) 评论(2) 推荐(2) 编辑
SSIS之数据流任务
摘要:数据流任务主要用于运行数据流以提取、转换、加载源数据。一个包中可以有多个数据流任务,也可以包含零个数据流任务。下面关系图显示含有一个数据流任务的包:了解数据流任务后,我们就简要的学习一下如何创建数据流任务。在工具箱中双击数据流任务控件或则将其拖放到控制流页面中。如图:你可以根据需求来修改数据流任务的属性。2. 单击数据流选项卡,从工具箱中拖放一个OLE DB Source.命名为Products。右击选择编辑进行配置。如图所示。其中sql语句的问号表示通过变量传递的参数值。单击参数按钮将问号映射到创建的变量。如图: 你也可以通过变量属性的下拉框中选择新建变量选项创建新的变量。然后单击确定按.. 阅读全文
posted @ 2012-04-14 10:10 guddujianxiao 阅读(6693) 评论(1) 推荐(0) 编辑
SSIS之序列容器
摘要:序列容器是一种十分简单,但使用非常广泛的容器,它可以对控制流的任务流组件进行结构化处理,把一些业务相关的任务组件,放到一个序列容器中,使整个包看起来更加整洁、美观,就如同我们家里的书柜、衣柜似的,把不同种类的东西整理在里面,收藏起来,既美观,又易于取用。 比如,在一个Integration Sevices包中,包含有财务数据、业务数据。整个包中的任务组件会非常多,如果不对它们进行分组管理,整个包看起来就会比较乱,非常难于管理与维护。相反如果我们将处理财务数据的任务,放入一个序列容器中,将处理业务数据的任务放入另一个序列容器,整个包看起来,就会一目了然,哪些任务是处理财务数据,哪些任务是处理.. 阅读全文
posted @ 2012-04-14 10:07 guddujianxiao 阅读(4181) 评论(0) 推荐(0) 编辑
SSIS的控制流之Foreach循环容器和序列容器
摘要:上一篇介绍了For循环容器的使用。本篇将介绍Foreach循环容器和序列容器的使用。Foreach循环容器Foreach循环容器定义包中的控制流。其循环的实现类似于编程语言中的Foreach循环结构。SQL Service Integration Services为Foreach容器提供了一下几种枚举类型枚举器配置要求Foreach ADO指定 ADO 对象源变量和枚举器模式。Foreach ADO.NET 架构行集指定与数据库的连接和要枚举的架构。Foreach 文件指定要枚举的文件夹和文件、检索到的文件的文件名格式,以及是否要遍历子文件夹。Foreach 源变量指定包含要枚举的对象的变量。 阅读全文
posted @ 2012-02-10 17:51 guddujianxiao 阅读(7350) 评论(2) 推荐(0) 编辑
SSIS的控制流之For循环容器
摘要:SSIS包由一个控制流以及一个或多个数据流(可选)组成。下面的关系图显示具有一个容器和六项任务的控制流。这些任务中有五项定义于包级别,还有一项定义于容器级别。任务位于容器内。在控制流中的工具箱.我们可以将工具箱中的控件分为容器控件和任务控件两类。现在我们先了解一下容器包含哪些控件容器1.For循环For循环容器类似于编成语言中的For循环结构。循环每次重复时,For循环容器都计算一个表达式并重复运行其循环,直到表达式计算结果为False才结束次循环。For容器使用很简单。这里就简单介绍一下使用方法。>BIDS开发工具打开创建的“SSISDemo”项目,然后创建一个新的包。命名为“ForC 阅读全文
posted @ 2012-02-10 14:25 guddujianxiao 阅读(9560) 评论(1) 推荐(0) 编辑
SSIS包的组建之连接管理器
摘要:上一篇我们通过一个示例来介绍一下SSIS 包的开发.接下来的内容我们将学习一下包中各个选项卡的使用.如:连接管理器选项卡、控制流选项卡、数据流选项卡和事件处理选项卡等等。这一篇将介绍一下连接管理器作用以及使用情况。连接管理器的作用是连接到不同类型的数据源以提取和加载数据。任何包的开发都需要提供源数据。下表列出了 SQL ServerIntegration Services 提供的连接管理器类型。类型说明ADO连接到 ActiveX 数据对象 (ADO) 对象。ADO.NET使用 .NET 提供程序连接到数据源。CACHE从数据流或从缓存文件 (.caw) 中读取数据,并可将数据保存到缓存文件。 阅读全文
posted @ 2012-02-09 10:03 guddujianxiao 阅读(10798) 评论(3) 推荐(2) 编辑
SSIS包的开发
摘要:在上一章节中我们初步了解了SSIS体系结构以及如何创建一个SSIS包。现在就介绍一下如何在创建的包中使用各个选项卡。打开上一章节创建的SSIS包。整个界面风格如下:在整个包中包含了控制流选项卡、数据流选项卡、事件处理程序选项卡等等。下面通过一个简单的例子介绍如何利用这些选项卡创建一个完成的工作任务包。本示例的主要功能是从数据库AdventureWorks中Product表中读取2001年到2007年的数据导入到Excel中。创建变量从图左边的变量或从SSIS菜单中选择变量来的打开变量(Variables)按图创建两个日期变量再图中,我们将变量StartDate的值设置为"2001/1 阅读全文
posted @ 2012-02-07 18:30 guddujianxiao 阅读(12732) 评论(11) 推荐(3) 编辑
SSIS简介
摘要:SSIS 其全称是Sql Server Integration Services ,是MicrosoftBI 解决方案的一大利器.SSIS 的体系结构主要由四部分组成:Integration Services 服务、Integration Services 对象模型、Integration Services 运行时和运行时可执行文件以及封装数据流引擎和数据流组件的数据流任务(如图):这是我们初学者必须要了解的,只要明白了这个体系统结构,体会了各组成部分之间的关系,清楚了什么是控制流、什么是数据流,SSIS学起来就不难了。接下来让我们从一个例子来初探一下SSIS的使用.当然要想成功执行示例.你需 阅读全文
posted @ 2012-02-07 14:03 guddujianxiao 阅读(18634) 评论(3) 推荐(1) 编辑