DTS 导入、导出向导帮助用户交互式地建立包,从而在具有OLE DB 和ODBC 驱动程序的源和目标数据源间进行数据的导入、导出和转换。下面将以两个具体例子来讲解如何使用DTS 向导,同时将对其中涉及的每一个选项进行详细的介绍。
例18-1: 使用DTS 向导导出pubs 数据库中的authors 表。
利用SQL Server Enterprise Manager 执行数据导出的步骤为:
(1) 启动SQL Server Enterprise Manager 后,登录到指定的服务器,右击Data Transformation Services 文件夹,在弹出菜单中选择All tasks, Export data,打开DTS Export Wizard, 如图18-1 所示。
(2) 单击“下一步”按钮,打开Choose a Data Source 对话框,如图18-2 所示。首先在Source Server 旁的下拉列表中选择数据源。在本例中选择Microsoft OLE DB Provider for SQL Server。 如果使用SQL Server 认证方式,则应输入访问数据库的合法用户账号和密码,在Database 旁的下拉列表中选择pubs (先单击Refresh 按钮)。
(3) 单击“下一步”按钮,打开Choose a Destination 对话框,如图18-3 所示。在Destination 旁的下拉列表中选择Microsoft OLE DB Provider for SQL Server。 Database 旁的下拉列表中选择DBA_pubs 数据库。
(4) 单击“下一步”按钮,打开Specify Table Copy or Query 对话框,如图18- 4 所示。在此处可以指定传递的内容,可以传递表或某一查询的数据结果集甚至于数据库对象。在本例中选择Copy table s from the source database。
(5) 单击“下一步”打开Select Source Table and View 对话框,如图18-5 所示。从中选择一个或多个表或视图进行传递。通过Preview 按钮可对将要传递的数据进行预览。
(6) 如果想定义数据转换时源表和目标表之间列的对应关系,则单击Trnsform 列的方格按钮,打开Columns Mapping, Transformation ,and Constrains 对话框,如图18-6 所示。
其中各选项的含义如下: Create destination table: 在从源表拷贝数据前首先创建目标表,在缺省情况下总是假设目标表不存在,如果存在则发生错误、除非选中了Drop and recreate destination table if it exists 选项; Delete rows in destination table: 在从源表拷贝数据前将目标表的所有行删除,仍保留目标表上的约束和索引,当然使用该选项的前提是目标表必须存在; Append rows to destination table: 把所有源表数据添加到目标表中,目标表中的数据、索引、约束仍保留。但是数据不一定追加到目标表的表尾,如果目标表上有聚簇索引,则可以决定将数据插入何处; Drop and recreate destination table: 如果目标表存在,则在从源表传递来数据前将目标表、表中的所有数据、索引等删除后重新创建新目标表; Enable identity insert: 允许向表的标识列中插入新值。
(7) 在进行数据转换时,可以通过脚本语言(如Jscript Perscript Vbscript)对源表中的某一列施加某种运算(乘、除或将该分割成几列、或将几列合并成一列),然后再将这种结果复制到目标表。此时应选中Columns Mapping、 Transformation, and Constrains 对话框的 Transformations 标签页,如图18-7 所示。
(8) 应选中Columns Mapping、 Transformation、 and Constraints 对话框的 Constraints 标签页,如图18-8 所示。
(9) 返回Select Source Table 对话框,单击“下一步”打开Save, Schedule and Replicate Package 对话框,如图18-9 所示。
在When 选项区可以选择与包有关的操作: Run immediately: 表示立即运行包; Create DTS package for Replication: 表示让由发布目标来进行复制; Schedule DTS package for later execution: 表示将包保存之后,在以后的某一规划时间运行。
在Save 选项,选中Save DTS Package, 则将包进行保存。 SQL Server: 将包存储在msdb 数据库中; SQL Server Meta Data Service :将包存储在Repository 中; Structured Storage File: 以DTS COM 结构的文件格式存储。容易通过文件服务器进行邮递和分发。 Visual Basic File (10) 单击“下一步”,打开Save DTS Package 对话框,如图18-10 所示。在 Name 输入该包的名称AuthorsPackage, 可以将包保存在本地服务器或其它的远程服务器,也可以选择适当的认证方式,如果选择SQL Server 认证,要提供用户名和密码。
(11) 单击“下一步”,在Completing the DTS Import/Export Wizard 对话框中单击“完成”,结束包的创建。操作如图18-11 所示。
注意:在步聚(4)的specity table copy or query 双对框中,如果选中use a query to specify the data to transfer选项,单击“下一步”之后打开之后打开type sol statement对话框,如图18-12所示。在query statement下的空白框中输入select语句,则该查询语句的结果集成是所有转换数据。可以通过单击query builder按钮来激活创建查询向导。