首先我们来先认识一下什么是DTS,它是一组工具,用于在一个或多个数据源(如Microsoft SQL Server、Microsoft Excel或Microsoft Access)间导入、导出和转换各种数据。通过OLE DB(一种数据访问的开放式标准)提供连接,通过用于ODBC的OLE DB提供程序来支持ODBC(开放式数据库连接)数据源。
在这里我们将以具体的实例来介绍DTS数据的导入导出功能。例:使用DTS向导导出自己建立的dmtjxxb数据库中的dmtjxxb_register表,到Excel表中。
操作步骤为:
(1)启动SQL Server企业管理器(Enterprise Manager)后,点击SQL Server组,选择指定的服务器,如此次操作的数据库是我本地的数据库,如图:
SQL Server企业管理器
选中要导出的数据库名称,点击鼠标右键,在弹出的菜单点击“所有任务”选择“导出数据”选项,如下图所示,就会弹出数据导入导出向导。
(2)单击“下一步”按钮,打开选择数据源对话框,如下图所示:
首先在“数据源”旁的下拉列表中选择数据源。在本例中选择Microsoft OLE DB Provider for SQL Server。如果使用SQL Server认证方式,则应输入访问数据库的合法用户账号和密码,在数据库旁的下拉列表中选择dmtjxxb,如果列表中没有列出您需要的数据库可以点击(刷新按钮)。
(3)单击“下一步”按钮,打开“选择目的”对话框,如下图所示。在“目的”旁的下拉列表中选择Microsoft Excel97-2000。“文件名”选择一个你要导入的excel表中,本例以c:/test.xls为例(这里需要注意的是,文件名称是选择的,系统不能够自动创建文件,所以要建立这个test.xls文件。)
(4)单击“下一步”按钮,打开“指定表复制或查询”对话框,如下图所示。在此处可以指定传递的内容,可以传递表或某一查询的数据结果集甚至于数据库对象。在本例中选择从源数据库复制表和视图(这样就把全部的数据导出来了)。
(5)单击“下一步”打开“选择表和视图对话框”对话框,如图所示。从中选择一个或多个表或视图进行传递。通过“预览”按钮可对将要传递的数据进行预览。
(6)如果想定义数据转换时源表和目标表之间列的对应关系,则单击“转换”列的方格按钮,打开列映射和转换对话框,如下图所示。
其中各选项的含义如下:
·创建目的表:在从源表拷贝数据前首先创建目标表,在缺省情况下总是假设目标表不存在,如果存在则发生错误、除非选中了“除去并重新创建目的表”选项;
·删除目的表中的行:在从源表拷贝数据前将目标表的所有行删除,仍保留目标表上的约束和索引,当然使用该选项的前提是目标表必须存在;
·在目的表中追加行:把所有源表数据添加到目标表中,目标表中的数据、索引、约束仍保留。但是数据不一定追加到目标表的表尾,如果目标表上有聚簇索引,则可以决定将数据插入何处;
·除去并重新创建目的表:如果目标表存在,则在从源表传递来数据前将目标表、表中的所有数据、索引等删除后重新创建新目标表;
·启用标识插入:允许向表的标识列中插入新值。
(7)在进行数据转换时,可以通过脚本语言(如J script Per script Vb script)对源表中的某一列施加某种运算(乘、除或将该分割成几列、或将几列合并成一列),然后再将这种结果复制到目标表。此时应选中“列映射和转换”对话框的“转换”标签页,并选中“在将信息复制到目的时对其进行转换”如下图所示:
(8)返回“选择源表和视图”对话框(即第5步的截图),单击“下一步”打开“保存、调度和复制包”对话框,如下图所示。
在默认选项区可以选择与包有关的操作:
·立即运行:表示立即运行包;
·用复制方法发布目的数据:表示让由发布目标来进行复制;
·调度DTS包以便以后执行:表示将包保存之后,在以后的某一规划时间运行。在“保存”选项,选中“保存DTS包”,则将包进行保存。
·SQL Server:将包存储在msdb数据库中;
·SQL Server Meta Data Service:将包存储在Repository中;
·Structured Storage File:以DTSCOM结构的文件格式存储。容易通过文件服务器进行邮递和分发。
·Visual Basic File
(9)单击“下一步”,打开“保存DTS包”对话框,如下图所示。在“名称”输入该包的名称“新建包”,可以将包保存在本地服务器或其它的远程服务器,也可以选择适当的认证方式,如果选择SQL Server认证,要提供用户名和密码。
(10)单击“下一步”,在“正在完成DTS导入/导出向导”对话框中单击“完成”,结束包的创建。如图所示。
点击“完成”按钮,就完成了数据库到excel的导出操作。看看你的c:/test.xls吧。反之如果将Excel表中的内容导入到数据库中,只需要在导入导出向导下调整源和目的数据即可。具体的操作朋友们可以自己尝试一下哦!