SSIS 【软件】SSIS快速入门

编辑:
发布时间: 2020-12-27 12:28:51
分享:

昨晚,在书店翻阅IT类的书籍时,看到“信息孤岛”也可作为标题,大题小做一番,心生反感......国内做学问可真不严谨啊。

言归正题,若想更好呈现商业等信息的价值,充分利用现有资源进行再构建,是信息系统建设一个领域。技术实现上,ETL抽取、转换及装载技术是一种方法,市场上,ETL产品有Informatica的PowerCenter,SAP BusinessObjects Data Integrator…

这里,以Microsoft SQL Server IntegrationServices为例,设计一个简单的抽取、转换、装载外部数据示例,快速了解如何在SSIS中实现DataFeed的应用。

开发环境:Microsoft SQL Server2008/SQL Server Integration Services 2008/Visual Studio2008

业务假设:假设某快速消费行业公司需分析全部产品近一年的销售趋势。现有一个作为数据存储的系统,存储产品、历年销售信息等,最新一年销售汇总可以从外部事务型数据库导入。在此基础上,使用报表工具可以呈现该信息。

示例:本示例实现如何使用SSIS从外部系统导入最新一年的产品销售记录,最后,补充SSIS的基本组成元素。

-外部数据源:文本文件,保存最新一年产品销售数据,从外部事务型系统导出。例如:

-目标数据源:SQL Server 2008

关键步骤:

1打开Visual Studio 2008,创建一个IntegrationServices项目,在该项目中,创建一个名为Demo1的包。

2在连接管理器中,添加、配置外部数据源,由于外部数据源是文本文件,新建、配置平面文件类型的连接管理器。

3在连接管理器中,添加、配置目标数据源,由于目标数据源是SQL Server,新建OLE DB类型连接管理器。

4在“控制流”Control Flow面板中,新增、配置“数据流任务”Data Flow Task。

5双击该数据流任务,进入“数据流”Data Flow面板。

1.在“数据流源”Data Flow Source工具栏中,添加平面文件源。

2.在“数据流转换”Data FlowTransformation工具栏中,使用Lookup控件,实现以下数据转换逻辑。

1)若外部数据的产品类别编号不存在本地数据中,输出错误记录数,若存在,则检验产品编号是否存在。

2)若产品编号不存在,输出错误记录数,若存在,则将合法信息装载到本地。

对数据的转换Transformation,一般考虑:导入的信息是否符合完整性,例如上例,未与产品信息匹配的销售记录不被导入;过滤某个字段为空值的记录;更新字段值;转换字段数据类型;映射字段;对数据集分组、合并等,如何处理冲突数据…

3.在“数据流目标”Data Flow Destination,添加OLEDB类型目标。

4.调试包

572条外部数据记录中,过滤了5条编号不匹配的记录,计567条记录被装载到目标系统。进一步思考,对目标数据源的处理,若需要添加、更新、删除已有记录,应分别如何操作。

5.部署包,将Demo1包部署到SQL Server IntegrationServices中。

6.包的调度,设计一个执行Demo1的包,部署到SSIS上,使用SQL Server Agent配置调度计划。

SSIS包的基本组成

SSIS最基本的组成是包,每个包主要以下几部分构成:

-连接管理器

-控制流任务及容器等

-数据流的源、转换、目标处理任务等

-语法:变量、表达式、单/多分支、循环、连接线、作用域等

-日志提供程序

最初,使用过DTS执行些简单的数据导入/导出,SSIS并不是DTS的升级,并且具备一定ETL的特性功能,作为微软平台下的后台数据处理工具还是蛮实用的,估计价格也不会很天价,适用于一些较小的应用系统。

相关阅读
热门精选
孩子 皮肤