转自 http://hi.baidu.com/ljghcg/blog/item/34b9998b2358bcd6fd1f10ea.html
在上一节中,我们介绍了利用 SQL Server 导入/导出向导建立了一个 SSIS Package, 并且将这个 Package 保存到了一个 .dtsx 文件中。本节我们将通过建立一个新的 SSIS 项目打开这个文件来认识一下开发 SSIS Package的主要工具 – SQL Server 2005 Business Intelligence Development Studio (BIDS)
建立一个SSIS 项目有两种方法:一个是在 MS SQL Server 2005 的菜单中直接选择 SQL Server Business Intelligence Development Studio;另一个是运行 Visual Studio 2005,选择菜单[File] – [New] – [Project…],新建一个项目, 在Business Intelligence Projects 项目下,选择Integration Services Project 模板,项目的名称输入 SSIS2 或任何其他合法的名称,如图3-1 所示。
图3-1
只有在系统中安装了SQL Server 2005 和Visual Studio.NET framework 2.0, 在新建项目窗口中才能使用Business Intelligence 项目和其包含的模版,最常用的BI 模版包括Integration Service,Analysis Services 和Report Server Project。
在图3-1 中单击 [OK] 按钮,打开Visual Studio, 此时的Visual Studio 就是一个SSIS 的开发环境了。打开上一节中保存的由Import/Export 向导生成的 .dtsx 文件。此时的Visual Studio 如图 3 -2 所示。我们下面就开始学习这个开发环境的使用和各部分的意义。
图3-2
图中显示的是一个基本的或默认的屏幕设置,我们下面就开始学习各个屏幕区域的的意义。
SSIS Package 设计器 (Designer)
屏幕的最中央是设计区,开发SSIS Package 应用就是要在这个设计区中,利用图形化的Task, Constraint, Dataflow,Container 等元素,按操作的顺序来实现一个数据转换任务,设计区就是我们安排这一系列元素的一个窗口,这有点像Form的概念,只不过它描述的不是运行时的可视控件,而是具有逻辑顺序的操作。SSIS Package 不是一个运行时可视的用户界面。设计区的上方有四个可选页面:Control Flow, Data Flow, Event Handler, Package Explorer分别用来设计SSIS Package的控制流程、数据流程、事件捕获和SSIS Package 的各组成的集中显示。
· 控制流程页面 (Control Flow): 故名思义这是一个安置SSIS Package流程控制的区域。当选择这一页面时,左侧的工具箱中会显示出可以放置在这一页面中的两组任务(Task): Control Flow Items (控制流程项目) 和 Maintenance Plan Tasks (维护计划任务), 我们以后会详细介绍各个条目和任务。鼠标单击工具箱中的任务,托到设计区,所有的任务都会以一个矩形来表示,矩形的右侧有一个红色的警告标示,表示这一任务还没有被正确的配置,在设计区中双击这个任务,可以对其属性进行配置。一旦正确地配置了这一任务,红色警告会自动消失,一个绿色的箭头线会出现在这个矩形的下部,这种箭头线叫做: Precedence Constraint (优先级约束),从中文文字上很难理解其作用,但可以简单地理解为指该任务执行成功或失败后下一部的操作,其中绿色箭头表示任务执行成功,红色箭头表示任务执行失败。关于Precedence Constraint 的设置我们会在以后的章节中详细的介绍。
如图3 -2 中,在 Control Flow 中有两个任务, 这是我们上一节使用 Import/Export 向导时自动产生的: Preparation SQL Task 和 Data Flow Task。其中Preparation SQL Task 是一个 Execute SQL Task (执行SQL的Task),只不过Import/Export 把它的自定义名称改为了Preparation SQL Task。它执行成功后,在执行一个Data Flow,也就是转换数据的操作。
控制流程是编写SSIS Package的必需的要素,也就是说一个SSIS Package至少要有一个任务在控制流程页面中。
· 数据流程页面(Data Flow): 只有在控制流程页面中建立了至少一个 Data Flow Task,这个数据流程页面才是可用的。在Control Flow 中双击 Data Flow Task并不会自动打开一个像其他任务那样的设置创口,而是直接进入Data Flow 的页面。Data Flow 页面是用来设计SSIS Package的数据流程的,数据流程包括数据源 (Source)、数据目标(Destination)和传输方式(Transformation)。当在Data Flow中工作时,屏幕左侧的工具箱中会出现相应的 Data Flow 设计项目,而不是图中的控制任务项目。
· 事件捕获页面 (Event Handlers): 在这个页面中可以放置用于整个SSIS Package的事件捕获任务。一个最典型的应用就是设计错误捕获。我们会在以后的章节中详细介绍。
· 包浏览页面 (Package Explorer): 这个页面并没有其独特的作用,但在SSIS Package设计过程中却非常有用,因为它的作用是将所有SSIS Package中的元素:控制任务, 约束, 数据流, 容器, 事件 和 变量等放在一个列表里,这样可以使用户很方便地从总体的角度上修改其中的任意元素的属性。
工具箱 (ToolBox)
工具箱中列出了设计中用到的所有的条目,这些可用的项目随着当前设计页面的不同而改变,比如当当前页面是控制流程页面时,工具箱中显示了所有可用于控制流程页面的控制流任务(Control Flow Tasks)和维护计划任务(Maintenance Plan Tasks);当当前页面是数据流程页面时,工具箱中之显示可用于该页面的数据流源(Data Flow Sources)、数据流目标(Data Flow Destinations)和数据传输(Data Flow Transformations)。
属性窗口(Properties)
属性窗口用于设置当前对象的属性。鼠标单击设计区或设计区中的一个对象,则属性窗口中列出了当前对象的所有属性。
连接管理器 (Connection Managers)
设计区的下方是数据连接管理器,在这个窗口中用户可以创建、编辑用于当前SSIS Package的数据连结。数据连接管理器是SQL Server 2005 BIDS的重要组成部分,只要建立了数据连接的数据源才可以用于当前的 SSIS Package的设计。右键单击空白区域打开下拉菜单,从菜单中选择需要建立的数据连接。最常用的数据连接有:OLE DB, Flat File, Analysis Services, ODBC等。
方案管理器 (Solution Explorer)
图中右上角的窗口叫做方案管理器。方案(Solution)可以同时包含一系列有关的项目Projects,每个Project可以有自己的数据源、数据源视图、SSIS Package以及与当前项目有关的任何文件,比如 VB.NET程序等。在一个已有的Solution下建立一个新的项目很简单:右键单击Solution,选择ADD… ,New Projects,就可以建立一个新的项目,同时系统在新建的项目下自动添加了空的目录:Data Source, Data Source View, SSIS Packages。
在建立方案的目录下,有必要记住一些文件的扩展名:
· .dtsx -- SSIS Package 文件
· .ds -- 共享的数据源文件
· .dsv – 数据源视图
· .sln – 方案文件,包括一个或多个项目
· .dtproj – SSIS 项目文件
变量窗口(Variables)
变量窗口可以显示当前工作项目中所有的系统变量和用户自定义变量。系统变量是在建立SSIS Package时系统自动建立的,用户不能更改;用户自定义变量是在设计阶段由用户定义的,其值可以更改。
图3-3
SSIS变量与DTS变量的最大不同在于,SSIS变量具有作用范围 Scope, 而在DTS Package中只能定义全局变量。SSIS Package变量的作用范围可以是整个Package、特定的Task、Container 或错误捕获事件。
右键单击设计区,从下拉菜单中选择 Variables 可以打开变量窗口,如图 3- 3所示。系统默认只显示用户自定义变量,如果想显示系统变量,则需要在窗口上方按下显示系统变量的开关。按下增加按钮可以增加一个新的用户自定义变量,变量的作用范围取决于当前所在的页面和当前的工作对象。
小结
我们在这一节中,我们简要学习了 BIDS的几个主要窗口,下一节我们学习如何通过BIDS建立一个SSIS Package的基本步骤。