《sql_server_ssis_学习指南》由会员分享,可在线阅读,更多相关《sql_server_ssis_学习指南(136页珍藏版)》请在金锄头文库上搜索。
1、SSISSSIS 其全称是Sql Server Integration Services ,是MicrosoftBI 解决方案的一大利器.SSIS 的体系结构主要由四部分组成:Integration Services 服务、Integration Services 对象模型、Integration Services 运行时和运行时可执行文件以及封装数据流引擎和数据流组件的数据流任务(如图):这是我们初学者必须要了解的,只要明白了这个体系统结构,体会了各组成部分之间的关系,清楚了什么是控制流、什么是数据流,SSIS学起来就不难了。接下来让我们从一个例子来初探一下SSIS的使用.当然要想成功执行示
2、例.你需要在安装Sql Server2008的时候,选中安装Integration Services和 Business Intelligence Development Studio选项 。这样 SSIS开发平台将于一并安装起来。1.单击开始-所有程序-Sql Server 2008-SQL Server Business Intelligence Development Studio。第一次打开这个开发环境的时候可能需要等待几分钟。该开发工具和 VS开发工具很相似。2.打开BIDS以后,我们可以单击File-新建-项目。如图 3.在“新建项目”对话框的“模板”窗格中,选择“Integrat
3、ion Services 项目”。然后在“名称”框中,将默认名称修改为自己的所需的名称。这个设计如下。4.单击“确定”按钮。默认情况下,将创建一个名为Package.dtsx的空包。5.创建好一个SSIS项目后,我们就可以在Package.dtsx包中的控制流、数据流等选项卡中托放控件来设计SSIS包。到此。我们了解了SSIS体系结构以及如何利用BIDS创建SSIS包。以后系列文章,我将逐步介绍各个控件的使用。SSIS包的开发在上一章节中我们初步了解了SSIS体系结构以及如何创建一个SSIS包。现在就介绍一下如何在创建的包中使用各个选项卡。打开上一章节创建的SSIS包。整个界面风格如下:在整个
4、包中包含了控制流选项卡、数据流选项卡、事件处理程序选项卡等等。下面通过一个简单的例子介绍如何利用这些选项卡创建一个完成的工作任务包。本示例的主要功能是从数据库AdventureWorks中Product表中读取2001年到2007年的数据导入到Excel中。1. 创建变量从图左边的变量或从SSIS菜单中选择变量来的打开变量(Variables)按图创建两个日期变量再图中,我们将变量StartDate的值设置为2001/1/1,EndDate的值设置为 2007/1/12. 创建连接管理器在创建完变量后,接着创建一个连接管理器。右击程序包编辑器底部的连接管理器窗口的空白处,选择新建OLE DB连
5、接,弹出如下对话框在图中选择新建按钮。弹出如下图信息。然后根据图中的选项配置数据库信息。最后单击确定保存该连接。然后在单击确定按钮。最后在连接管理器上创建一个如下数据库连接你可以右击新建的LocalHost.AdventureWorks.sa连接管理器并重命名为AdventureWorks。然后右击程序包编辑器底部的连接管理器窗口-新建连接-Excel文件的连接管理器-添加按钮。弹出对话框。然后在对话框中做如下设置。最终单击确定按钮。然后修改名称为Product.3 .使用控制流控制流选项卡是执行程序包的工作流的地方。在本示例中我们从工具中将数据流任务(Data Flow Task)控件拖放到
6、控制流选项卡中。如图所示。这个Data Flow Task 将执行数据的转换工作。4.使用数据流双击数据流任务(Data Flow Task)就会打开数据流(Data Flow)选项卡。下图显示了程序包中的数据流选项卡,尚未拖放控件。从工具箱中拖出一个OLE DB 源,命名为Products。双击改源进行配置,如图所示。确保指向AdventureWorks连接管理器。并将数据访问模式项改为SQL命令。在SQL命令文本窗口中输入下列命令。select * from Production.Productwhere SellStartDate? and SellStartDate?问号表示通过变量传
7、递的参数值。单击参数按钮将问号映射到已创建的变量。在设置查询参数窗 口中看到每个问号参数都是有序的。因此第一问号对应Parameter0,第二个问号对应Parameter1 。依次类推。了解参数配置后,我们将Parameter0 映射到User:StartDate,Parameter1映射到User:EndDate。如图:单击确定按钮返回到数据流选项卡中。接下来在工具箱中的数据流目标中将Excel目标控件拖放到设计窗格上。通过从数据源拖动绿色箭头到该Excel目标源。然后右键单击Excel目标源选择编辑,弹出对话框,接着按图下步骤设置信息。设置成功后,整个数据流选项卡的流程如下:5.执行包包创
8、建成功后,现在我们来执行一下,看看效果如何。右键单击Package.dtsx包-选择执行包选项。将会看到如下结果图途中绿色表示包创建成功并执行完成。打开导入的Excel,我们发现已经存在数据。到此一个简单的包流程设计完成。后续我们将如何使用包中各个选项卡。SSIS包的组建之连接管理器上一篇我们通过一个示例来介绍一下SSIS 包的开发.接下来的内容我们将学习一下包中各个选项卡的使用.如:连接管理器选项卡、控制流选项卡、数据流选项卡和事件处理选项卡等等。这一篇将介绍一下连接管理器作用以及使用情况。连接管理器的作用是连接到不同类型的数据源以提取和加载数据。任何包的开发都需要提供源数据。下表列出了 S
9、QL ServerIntegration Services 提供的连接管理器类型。类型说明ADO连接到 ActiveX 数据对象 (ADO) 对象。ADO.NET使用 .NET 提供程序连接到数据源。CACHE从数据流或从缓存文件 (.caw) 中读取数据,并可将数据保存到缓存文件。EXCEL连接到 Excel 工作簿文件。FILE连接到文件或文件夹。FLATFILE连接到单个平面文件中的数据。FTP连接到 FTP 服务器。HTTP连接到 Web 服务器。MSMQ连接到消息队列。MSOLAP100连接到 SQL ServerAnalysis Services 实例或 Analysis Serv
10、ices 项目。MULTIFILE连接到多个文件和文件夹。MULTIFLATFILE连接到多个数据文件和文件夹。OLEDB使用 OLE DB 访问接口连接到数据源。ODBC使用 ODBC 连接到数据源。SMOServer连接到 SQL Server 管理对象 (SMO) 服务器。SMTP连接到 SMTP 邮件服务器。SQLMOBILE连接到 SQL Server Compact 数据库。WMI连接到服务器,并指定服务器上 Windows Management Instrumentation (WMI) 管理的范围。下面就简单的介绍一下我们常用的使用连接管理器类型。 OLE DB 访问接口连接到
11、数据源(数据库连接)1. 首先打开上一篇创建名为SSISDemo项目.2. 在连接管理器窗口中,右击选择New OLE DB Connnection项,将弹出如下窗口:左边数据连接框显示的连接是我们已创建好的数据库连接。右边数据库连接属性框显示对应的属性信息。你也可以新建一个数据库连接。单击新建按钮,弹出如下对话框在这对话框中,我们可以根据自己的需要填写相应的内容。本例是以连接本地AdventureWorks数据库。单击确定按钮。则会在连接管理器看到如下信息:图中LocalHost.AdventureWorks.sa就是我们刚才创建的数据库连接。右击LocalHost.AdventureWor
12、ks.sa弹出属性框。可以根据需要修改这些属性。比如将Name属性修改为: AdventureWorks。到此一个 简单OLE DB连接方式建立完成。其中的一些属性含义。自己可以在后续的学习中逐步的掌握。 FILE连接到文件或文件夹(平面文件连接) 平面文件连接管理器要比OLE DB连接方式要复杂的多。平面文件连接方式主要是连接非数据库类型的文件。下面介绍下如何创建平面文件连接。假如我们有一个名为User.txt文件。数据格式如下:每行有两列数据。已“Tab”隔开。接下来介绍如何在连接管理器中连接这个文本文件。1. 仍然在连接管理器框中右击,选中新建平面文件连接,弹出对话框在图中可以看到配置平
13、面文件连接管理器需要配置连接管理器名称、常规、列、高级、预览这个属性。下面将介绍如何配置这些属性 连接管理器名称:为工作流中的平面文件连接提供唯一的名称。所提供的名称将在连接管理器框中显示。 常规选项卡:使用“平面文件连接管理器编辑器”对话框的“常规”页可以选择文件和数据格式。使用平面文件连接可以将包连接到文本文件。该选项卡中包含以下属性:文件名:键入要在平面文件连接中使用的路径和文件名。区域设置:在区域设置下拉框中选中指定的区域位置,以便为排序以日期和时间格式提供语言特性的信息。在设计的时候最好选择英语(美国)选项Unicode复选框:指示是否使用Unicode。如果使用Unicode则不能
14、指定代码页。代码页:在代码页中选中指定非Unicode文本的代码页。设计时最好选择1252(ANSI-拉丁语I)格式:在格式下拉框中选中文本的格式属性说明带分隔符各列之间由在“列”页上指定的分隔符隔开固定宽度列的宽度固定右边未对齐在右边未对齐的文本中,除最后一列之外的每一列的宽度都相同。它有行分割符分割文本限定符:指定要使用的文本限定符。例如,可以指定文本字段必须用引号括起来。若选择文本限定符之后,就不能重新选择无选项,键入None以取消选择文本限定 符。标题行分隔符:从标题行的分隔符列表中选择,或输入分隔符文本。值说明CRLF标题行由回车符和换行符的组合分隔。CR标题行由回车符分隔。LF标题
15、行由换行符分隔。分号 ;标题行由分号分隔。冒号 :标题行由冒号分隔。逗号 ,标题行由逗号分隔。制表符 t标题行由制表符分隔。竖线 |标题行由竖线分隔。要跳过的标题行数:指定要跳过的标题行数或初始数据行数(如果有的话)。在第一个数据行中显示列名称:指示在第一个数据行中是否要求列名或提供列名。根据常规选项卡中的这些属性以后,我们就可以根据需求设定文本显示的格式。如下图 列选项卡:使用”平面文件连接管理器编辑器”对话框中的”列”选项卡可以在这里设置行和列的信息。并预览相应的文件。如下图:包含如下属性行和列分隔符:此属性和常规选项卡中的标题行分隔符一样。可以根据需求设置行和列的显示方式。预览: 查看平面文件中的示例数据,这些数据已按所选的选项划分为列和行.如上图。刷新:通过单击“刷新”查看更改要跳过的分隔符后的效果。只有在更改行