SQL Server SSIS 学习指南

更新时间:2023-04-30 13:41:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

SSIS

SSIS 其全称是Sql Server Integration Services ,是Microsoft BI 解决方案的一大利器.

SSIS 的体系结构主要由四部分组成:Integration Services 服务、Integration Services 对象模型、Integration Services 运行时和运行时可执行文件以及封装数据流引擎和数据流组件的数据流任务(如图):

这是我们初学者必须要了解的,只要明白了这个体系统结构,体会了各组成部分之间的关系,清楚了什么是控制流、什么是数据流,SSIS学起来就不难了。

接下来让我们从一个例子来初探一下SSIS的使用.当然要想成功执行示例.你需要在安装Sql Server2008的时候,选中安装Integration Services和 Business Intelligence Development Studio选项。这样 SSIS开发平台将于一并安装起来。

1.单击开始->所有程序-〉Sql Server 2008-〉SQL Server Business Intelligence

Development Studio。第一次打开这个开发环境的时候可能需要等待几分钟。该开发工具和 VS开发工具很相似。

2.打开BIDS以后,我们可以单击File->新建-〉项目。如图

3.在“新建项目”对话框的“模板”窗格中,选择“Integration Services 项目”。然后在“名称”框中,将默认名称修改为自己的所需的名称。这个设计如下。

4.单击“确定”按钮。默认情况下,将创建一个名为Package.dtsx的空包。

5.创建好一个SSIS项目后,我们就可以在Package.dtsx包中的控制流、数据流等选项卡中托放控件来设计SSIS包。

到此。我们了解了SSIS体系结构以及如何利用BIDS创建SSIS包。以后系列文章,我将逐步介绍各个控件的使用。

SSIS包的开发

在上一章节中我们初步了解了SSIS体系结构以及如何创建一个SSIS包。现在就介绍一下如何在创建的包中使用各个选项卡。打开上一章节创建的SSIS包。整个界面风格如下:

在整个包中包含了控制流选项卡、数据流选项卡、事件处理程序选项卡等等。下面通过一个简单的例子介绍如何利用这些选项卡创建一个完成的工作任务包。

本示例的主要功能是从数据库AdventureWorks中Product表中读取2001年到2007年的数据导入到Excel中。

1.创建变量

从图左边的变量或从SSIS菜单中选择变量来的打开变量(Variables)按图创建两个日期变量

再图中,我们将变量StartDate的值设置为"2001/1/1",EndDate的值设置为" 2007/1/1"

2.创建连接管理器

在创建完变量后,接着创建一个连接管理器。右击程序包编辑器底部的连接管理器窗口的空白处,选择新建OLE DB连接,弹出如下对话框

在图中选择新建按钮。弹出如下图信息。然后根据图中的选项配置数据库信息。最后单击确定保存该连接。

然后在单击确定按钮。最后在连接管理器上创建一个如下数据库连接

你可以右击新建的LocalHost.AdventureWorks.sa连接管理器并重命名为AdventureWorks。

然后右击程序包编辑器底部的连接管理器窗口-〉新建连接-〉Excel文件的连接管理器-〉添加按钮。弹出对话框。然后在对话框中做如下设置。

最终单击确定按钮。然后修改名称为Product.

3 .使用控制流

控制流选项卡是执行程序包的工作流的地方。在本示例中我们从工具中将数据流任务(Data Flow Task)控件拖放到控制流选项卡中。如图所示。这个Data Flow Task 将执行数据的转换工作。

4.使用数据流

双击数据流任务(Data Flow Task)就会打开数据流(Data Flow)选项卡。下图显示了程序包中的数据流选项卡,尚未拖放控件。

从工具箱中拖出一个OLE DB 源,命名为Products。双击改源进行配置,如图所示。确保指向AdventureWorks连接管理器。并将数据访问模式项改为SQL命令。在SQL命令文本窗口中输入下列命令。

select * from Production.Product

where SellStartDate>? and SellStartDate

问号表示通过变量传递的参数值。单击参数按钮将问号映射到已创建的变量。在设置查询参数窗口中看到每个问号参数都是有序的。因此第一问号对应Parameter0,第二个问号对应Parameter1 。依次类推。了解参数配置后,我们将Parameter0 映射到User::StartDate,Parameter1映射到User::EndDate。如图:

单击确定按钮返回到数据流选项卡中。接下来在工具箱中的数据流目标中将Excel目标控件拖放到设计窗格上。通过从数据源拖动绿色箭头到该Excel目标源。然后右键单击Excel目标源选择编辑,弹出对话框,接着按图下步骤设置信息。

设置成功后,整个数据流选项卡的流程如下:

5.执行包

包创建成功后,现在我们来执行一下,看看效果如何。右键单击Package.dtsx 包-〉选择执行包选项。将会看到如下结果图

途中绿色表示包创建成功并执行完成。打开导入的Excel,我们发现已经存在数据。到此一个简单的包流程设计完成。后续我们将如何使用包中各个选项卡。

SSIS包的组建之连接管理器

上一篇我们通过一个示例来介绍一下SSIS 包的开发.接下来的内容我们将学习一下包中各个选项卡的使用.如:连接管理器选项卡、控制流选项卡、数据流选项卡和事件处理选项卡等等。这一篇将介绍一下连接管理器作用以及使用情况。

连接管理器的作用是连接到不同类型的数据源以提取和加载数据。任何包的开发都需要提供源数据。

下表列出了 SQL ServerIntegration Services 提供的连接管理器类型。

下面就简单的介绍一下我们常用的使用连接管理器类型。

OLE DB 访问接口连接到数据源(数据库连接)

1.首先打开上一篇创建名为"SSISDemo"项目.

2.在连接管理器窗口中,右击选择New OLE DB Connnection项,将弹出如

下窗口:

左边数据连接框显示的连接是我们已创建好的数据库连接。右边数据库连接属性框显示对应的属性信息。你也可以新建一个数据库连接。单击新建按钮,弹出如下对话框

在这对话框中,我们可以根据自己的需要填写相应的内容。本例是以连接本地AdventureWorks数据库。单击确定按钮。则会在连接管理器看到如下信息:

图中LocalHost.AdventureWorks.sa就是我们刚才创建的数据库连接。右击LocalHost.AdventureWorks.sa弹出属性框。可以根据需要修改这些属性。比如

将Name属性修改为: AdventureWorks 。到此一个简单OLE DB连接方式建立完成。其中的一些属性含义。自己可以在后续的学习中逐步的掌握。

FILE连接到文件或文件夹(平面文件连接)

平面文件连接管理器要比OLE DB连接方式要复杂的多。平面文件连接方式主要是连接非数据库类型的文件。下面介绍下如何创建平面文件连接。假如我们有一个名为User.txt文件。数据格式如下:

每行有两列数据。已“Tab”隔开。接下来介绍如何在连接管理器中连接这个文本文件。

1.仍然在连接管理器框中右击,选中新建平面文件连接,弹出对话框

在图中可以看到配置平面文件连接管理器需要配置连接管理器名称、常规、列、高级、预览这个属性。下面将介绍如何配置这些属性

?连接管理器名称:为工作流中的平面文件连接提供唯一的名称。所提供的名称将在连接管理器框中显示。

?常规选项卡:使用“平面文件连接管理器编辑器”对话框的“常规”页可以选择文件和数据格式。使用平面文件连接可以将包连接到文本文件。该

选项卡中包含以下属性:文件名:键入要在平面文件连接中使用的路径和

文件名。

区域设置:在区域设置下拉框中选中指定的区域位置,以便为排序以日期

和时间格式提供语言特性的信息。在设计的时候最好选择英语(美国)选项Unicode复选框:指示是否使用Unicode。如果使用Unicode则不能指定代码页。

代码页:在代码页中选中指定非Unicode文本的代码页。设计时最好选择1252(ANSI-拉丁语I)格式:在格式下拉框中选中文本的格式

文本限定符:指定要使用的文本限定符。例如,可以指定文本字段必须用引号括起来。若选择文本限定符之后,就不能重新选择"无"选项,键入None以取消选择文本限定符。

标题行分隔符:从标题行的分隔符列表中选择,或输入分隔符文本。

要跳过的标题行数:指定要跳过的标题行数或初始数据行数(如果有的话)。

在第一个数据行中显示列名称:指示在第一个数据行中是否要求列名或提供列名。

根据常规选项卡中的这些属性以后,我们就可以根据需求设定文本显示的格式。如下图

列选项卡:使用”平面文件连接管理器编辑器”对话框中的”列”选项卡可以在这里设置行和列的信息。并预览相应的文件。如下图:

本文来源:https://www.bwwdw.com/article/2lce.html

Top