SSIS简介
开发SQL Server 2005 BI 应用,主要包括三个主要部分: SQL Server 集成服务 (SQL Server Integration Services – SSIS) , SQL Server数据库系统概论读写说 报表服务 (SQL Server Reporting Services)  SQL Server Analysis Services (SSAS).  本文将由通过大量实例由浅入深地介绍通过 SQL Server Business Intelligence Development Studio (BIDS) 构建 SSIS 应用程序的方法和技巧。
SSIS 的由来
很多人都熟悉SQL Server 的命令行程序 Bulk Copy Program (BCP),在SQL Server 7.0发布之前,这似乎是从SQL Server导入导出数据的主要方法。从SQL Server 7.0 开始,一个全新的内置系统工具 DTS被增加到了SQL Server 中,该工具通过建立 DTS 程序包(Package)的方法用来进行不同数据源之间的数据转换和导入导出数据。DTS BCP 程序行相比,具有几个明显的特点:DTS 可以将许多内置的任务 (Task) 与数据转换步骤(Steps)相连,在基于OLEDB下的不同的数据源之间进行各种复杂的数据转化;能够通过脚本(Script)自定义复杂的数据转换操作;以通过设置SQL Server Agent 自动化DTS 包的运行;在其他应用程序中
通过调用DTS 对象,实现对DTS Package 的访问等。
Microsoft SQL Server 2005 中又对DTS 进行了重大的改进,使一个单纯的ETL工具,变成了具有企业级开发能力的ETL平台,而不仅仅是把名字从DTS 改为了SSIS
SSIS 的主要特点
1. SSIS 不仅仅用来简单的传输和转换数据,还可以用来对建立Business Intelligence 平台的数据进行集成、转移、扩展、过滤和修正。
2. SSIS 不但具有很多内置的数据清理功能,而且还可以通过第三方控件来扩充功能,可以使用户通过Visual Studio.NET开发自定义的控件。
3. SSIS可以将数据直接导入到SQL Server 分析服务(Analysis Services)  Cube中。
4. SSIS可以与SQL Server 报表服务 (Reporting Services) 无缝集成,即 SSIS 包可以作为报表服务的数据源。
5.  SQL Server Business Intelligence Development Studio (BIDS) 作为开发平台。BIDS 
是基于 Visual Studio 2005 界面的集成开发环境,当开发SSIS 包的时候,不需要邦定到任何具体的 SQL Server 服务器,就是说可以脱机工作。BIDSIDE开发环境 如图1-1 所示:
                               1-1
安装 SSIS
 SSIS  MS SQL Server 2005 标准版、工作组版和开发版发行,在安装MS SQL Server 2005 的同时选择安装 SSIS的选项即可。软件和硬件需求可以在MSDN相应的文档中查询。(msdn2.microsoft/en-us/library/ms143731.aspx)
本文中的实例全部在英文 Windows 2003 Server 企业版 + SQL Server 2005 开发版开发环境下调试。部分实例使用了SQL Server 2005 自带的AdventureWorks 数据库和AdventureWorksDW数据库,实际项目的实例使用了Himalayan 数据库。
AdventureWorksAdventureWorksDW 数据库是 SQL Server 2005自带的例子数据库,它们在 SQL Server 2005 中取代了大家在 SQL Server 2000 中熟悉的 Northwind 数据库,是练习学习 SSAS, SSIS  SSRS 的最好的工具。值得注意的是,这两个数据库不是SQL Server 2005的默认安装选项。如果想使用学习本文中的例子,在安装SQL Server 2005时必须使用定制安装,并且选择安装 例子数据库。当然,这两个重要的例子数据库,也可以增加到已经安装完成的SQL Server 2005中,读者可以到Microsoft的去下载这最新版本的例子数据库文件。(www.microsoft/downloads/details.aspx?FamilyID=
E719ECF7-9F46-4312-AF89-6AD8702E4E6E&displaylang=en)
Himalayan 数据库是一个我实际从事的一个SSAS项目的数据库,大约有200多个表。主要用于建立北美公用事业单位(水电煤气)的CRM软件测试人员应具备的素质系统。本文中的大量实例用于建立CRM系统和第三方财务软件的数据交换感兴趣的朋友可以向我索取该数据库文件。
办公软件最常用的公式
SSIS Package (包)
我们从DTS 开始,就把在DTS中开发的能完成特定功能的数据转换操作的各个步骤地集合叫做 Package,其实就是一个图形化的程序,它包含了原数据表、目标数据表、步骤、任务、流程、脚本等,我们把这些组成统称为 Package, 并可以把这个Package 存放到 SQL Server 中,或作为单独的文件保存。DTS Package 的默认扩展名为 .dts, SSIS 中的扩展名为 .dtsx
下面通过一个例子,利用最新的SQL Server 2005 Export/Import 向导来建立一个简单的SSIS Package (),这个SSIS将把删除索引的sql语句SQL Server 2005 自带的Adventure数据库中的一个表的一部分导出到另一个 SSIS数据库的新表中。
1)打开SQL Server 2005 Management Studio (SSMS), 选择您所安装的服务器种类 (Server Type)、名称(Server Name) 和验证方式 (Authentication)以打开数据库,如图1-1所示。这里服务器种类请选择数据库引擎 (Data Engine) SQL Server 2005 SSMS允许连接到多种不同的 Server Type, 比如 Data Engine, Analysis Services, Reporting Services Integration Services,可用的Server Type 取决于在安装SQL Server 2005 时安装了多少相应的服务。以后我们还会用到 Integration Services 种类来连接到 Integration Services, 来查看 SSIS package的运行信息等。
 2-1
 2)连接到 Data Engine 后,选择 Databases 下的 AdventureWorks 数据库,鼠标右键选择 Tasks – Export Data 执行 Import/Export 向导,如图 2- 2所示。如果下次执行时你希望不显时该欢迎窗口,可以选中图中的 Do not show this starting page again 选项。单击 [Next] 按钮,进入选择数据源的窗口,如图 2-3 所示。
2-2
 3)在 2-3, 选择 SQL Native Client 作为数据源类型从可用的服务器中选择适当的 SQL Server 服务器;选择验证方式,这里使用 Windows 验证方式;选择默认数据库AdventureWorks
数据源类型多少,取决于你的电脑上安装了多少数据源连接方式,因为本文中的例子都是利用本地计算机上SQL Server 2005调试的,所以多数使用SQL Native Client 作为数据源的连接方式。
 
2–3
 4)单击[Next]按钮,进入选择目标的窗口,既选择导出数据的目标。因为我们要把数据源中的一个表导出到一个不存在的数据库中,所以首先应该建立一个新的SSIS数据库。单击该窗口中的[New] 按钮以建立一个新的SSIS数据库,建立数据库的参数全部使用默认值。此时的选择目标窗口如图 2-4 所示。
2-4
 5)单击 [Next] 按钮,进入指定复制或查询窗口,如图2-5所示。在该窗口中,可以指定导出数据的范围,这里有两个方法可以选择: 
Copy data from one or more tables or views. 从一个或多个表或视图中拷贝数据。这个选项用来拷贝一个或多个表或视图中的全部记录和全部字段,也就是说导出整个的表和视图,这是一种最简单的数据导出方式。
Write a query to specify the data to transfer. 利用查询指定传输的数据。这个选项具有很大的灵活性,即可以选择不同的表、表的Join作为数据源,也可以选择符合条件的记录范围,指定的表的字段范围等。只要是合法的数据查询语句都可以作为数据源。在一个复杂的SSIS设计过程中,这一选项是最常用的,我们会在以后的章节中详细讨论这一选项的用法。
在本例中我们选则第二个选项,我们将利用一个简单的查询语句来导出少量的记录。
 2-5
 6)单击 [Next] 按钮,就会进入一个查询编写器窗口。在这个窗口中可以输入任何合法的 SQL 查询语句,可以按 [Parse] 按钮来检验 SQL 语句的争取性;可以按 [Browsenext studio] 按钮
来打开一个 SQL 脚本文件。很遗憾这个查询编写器没有像 SQL Server Analysis Services中使用SQL 向导建立SQL 语句那么方便。
在这个窗口中,我们输入以下语句:
 Select Top 10 EmployeeID,ManagerID,Title From AdventureWorks.HumanResources.Employee
 我们将选择单击 [Parse] 按钮来验证这条语句的争取性。单击 [Next] 按钮进入到下一步:选择数据源表和视图。
 7)在选择数据源表和视图窗口中列出了可供使用的数据表和视图,因为我们只是利用查询选择了 Employee表中的一部份数据,所以只有一个数据表可供选择,这个数据表系统自动命名为 Query, 系统默认的目标表将使用与数据源表相同的名字Query, 我们可以单击Destination 列,将目标表更改为 [SSIS].[dbo].[Employee],如图 2-6 所示,这里有很多有用的选项可以调整导出数据,我们会在今后的章节中详细介绍,目前暂时全部使用默认值。
  
2-6
 在该窗口中有一个重要的功能,就是设定就是设制数据源表和目标表的对应字段。单击 M
apping 列的sharepoint程序员招聘 [Edit] 按钮,打开图2-7 所示的 列对应设置窗口。我们同样会在今后的章节中详细介绍该窗口的使用,目前我们使用图中所示的默认值。
 
  2 -7
 8)单击[Next] 进入执行窗口,如图 2-8 所示。我们选择 ‘Execute immediately’ 来立即执行这个导出数据的操作,为了方便在SQL Server Intelligence Development Studio 开发环境中打开这个 Package, 我们把这个Package 保存到一个本地文件中。文件的扩展名为 .dtsx, 这也是 SSIS Package 的默认系统扩展名,我们将来开发的任何 SSIS Package 都将使用这一标准的扩展名。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。