Microsoft SQL Server 2000提供了数据传输服务(DTS)工具,这让完全不同的系统之间传输数据变得更加高效、方便。SQL Server Enterprise Manager的客户接口也提供这个工具。现在我们来更加仔细地看看如何访问和使用DTS。在我的例子中间,我会把数据从SQL Server导出到Excel的电子表格里。
从SQL Server里把数据移出来
你可以在Enterprise Manager里进入DTS,并用它把数据从SQL Server(Figure A)里导入和导出。每一步都简单易行;对话框会指导你完成每一步。
使用DTS,你可以和各种类型的数据库交换数据,包括Paradox、Microsoft Excel和Access、dBase、FoxPro和文本文件。
图A
从Enterprise Manager进入DTS
例如,要把数据从SQL Server导出到Excel的电子表格里,你就要首先创建一个用来接收外来数据的Excel电子表格。这个电子表格不需要额外的设置;你所需要的就是一个能容纳外来数据的电子表格。DTS的导出操作能在Excel电子表格内创建了一个合适的表格来接收数据。选择DTS后会出现一系列的对话框,它们将引导你完成所有的步骤。
图B中的对话框要求你选择要导出数据的数据源。Data Source下拉菜单让你选择数据源的类型(例如,SQL Server、Access、 Paradox和text文件等等)。Data Source下面选择项的内容依据你选择的数据源而不同。
图B
开始DTS的导出操作
在图B里,我选择SQL Server为数据源,并指定服务器的名字/地址、登录信息,以及是否需要Windows或者SQL Server验证。输入的用户名和密码将用于登录到SQL Server,数据源是在下拉菜单里选择的。
点击Next按钮以后,你会看到这一步要求你指定目标数据源。目标数据源对话框恰好和图B里选择数据源的对话框相同。数据能够被传输并转换成多种格式。在本例中,我把Microsoft Excel作为目标数据源,并把先前创建的文件名作为目标的名字。
点击Next按钮后,你将看到图C。在这里可以指定是否把表格和查看表从数据源复制过来,你也可以在这里输入SQL查询来选择记录。
图C
选择要导出的数据
如果选择Copy Table(s) And View(s) From The Source Database,你就会看到图D。Transform 这一列允许你把待编辑数据的选项也一同输出。在这一对话框中,你也可以选择要导出的表格和查看表,并可编辑目标名。
图D
选择要导出的表格/查看表
选择图C里Use A Query To Specify The Data To Transfer选项将打开一个对话框,见图E。
图E
使用SQL的查询导出数据
下一个对话框(图F)允许你选择是立即执行这一步、按计划执行还是保存这个DTS包以后再用。选好之后点击Next按钮,下一个对话框允许你回顾整个过程并开始执行(按Finish按钮)。
图F
选择应该在什么时候执行
图G
导出结果
后一个对话框(图G)显示的是执行的结果(不论是成功还是失败)。前面这么多的对话框看起来好像这个过程可能很复杂,但其实这个过程很快。我选择了两个表格,Excel电子表格的结果如图H。
图H
导出的数据在Excel里的情形
要注意的是,在图H里,导出的数据在Excel的工作表的被分为两张表,每张表对应于一个来自数据源的表格(或者查看表)。这样,数据就能很容易用于报告或者在Excel内用来计算。
颠倒这个步骤
数据导入的过程和导出的过程是一样的。数据可以从各种数据源(我已经提过是哪些了)导入到SQL Server里。要记住,导入的过程一定要格外小心,这是因为DTS不太会区分字段名和表格名,所以给它们指定的常常是缺省的名字。DTS的确提供了能够编辑输入分配的方法,这样可以保证一个平滑的导入过程,这不在本文的讨论范围内。
其他的选择
DTS只是SQL Server 2000提供的一种数据传输方法。命令行形式的批量复制程序(bcp)和SQL批量插入命令都可以完成同样的工作。在SQL Server 2000环境的内外都有各种操作数据的方法,但是DTS是对用户最友好的。Microsoft Online Books提供了在你的项目中充分利用DTS所必需的任何附加信息。