SQL Server应用与开发范例宝典
上QQ阅读APP看书,第一时间看更新

1.8 导入、导出数据库

实例039 导入SQL Server数据库

这是一个提高基础技能的实例

实例说明

在程序开发过程中,一些基础信息表(如员工表、权限信息表等),可以重复利用,而无须重复创建。SQL Server提供了导入数据的功能,可以将其他SQL Server 2000数据库中已创建好的数据表导入进来,从而实现重复利用某些表。下面介绍导入SQL Server 2000数据库的方法。

技术要点

在所有的数据转换服务(DTS)工具中,DTS导入/导出向导为在OLE DB数据源之间复制数据提供了最简单的方法。

在连接到源和目的之后,可以选择要导入或导出的数据,并可对要复制的数据应用各种转换(例如,通过选择列或使用Microsoft ActiveX脚本)。在大多数情况下,可以自动与源数据一起复制主键和外键约束。

说明:可以复制从SQL查询中获得的数据。SQL查询可以包含来自同一数据库或分布式查询中的多个表的连接。作为整个进程的一部分,如果不存在任何表,则DTS导入/导出向导会自动为您创建目的表。

使用DTS导入/导出向导,可以连接到下列数据源。

● 大多数的OLE DB和ODBC数据源以及用户指定的OLE DB数据源。

● 文本文件。

● 到一个或多个Microsoft SQL Server实例的其他连接。

● Oracle和Informix数据库。

● 必须已经安装Oracle或Informix客户端软件。

● Microsoft Excel电子表格。

● Microsoft Access和Microsoft FoxPro®数据库。

● dBase或Paradox数据库。

实现过程

下面将导入SQL Server 2000数据库中的“权限信息表”,具体操作步骤如下。

(1)依次展开“服务器组”→“服务器”→“数据库”,右键单击db_Scell数据库,在弹出的快捷菜单中选择“所有任务”→“导入数据”命令,打开“DTS导入/导出向导”对话框,如图1.185所示。以下的操作可以在它的帮助下完成,单击“下一步”按钮。

图1.185 “DTS导入/导出向导”对话框

(2)指定数据导入的源数据库。在图1.186所示的“DTS导入/导出向导”对话框的“数据源”列表中用户可以选择不同的数据库类型。这里要从SQL Server中导入数据,所以指定源数据库类型为“用于SQL Server的Microsoft OLE DB提供程序”,这是系统默认的数据类型。

图1.186 选择导入的数据源

(3)指定数据导入的目标数据库后单击“下一步”按钮,将显示“选择目的”对话框口。在“目的”列表中,用户可以选择输出数据的格式类型。因为这里从SQL Server数据库中导入数据,所以在“目的”列表中指定导入数据的目标类型为“用于SQL Server的Microsoft OLE DB提供程序”,如图1.187所示。

图1.187 指定导入的目标数据源

(4)单击“下一步”按钮,打开图1.188所示的对话框。

图1.188 选择数据导入的方式

(5)单击“下一步”按钮,选择源表和视图。在图1.189所示的“表和视图”表格中,选择“权限信息表”,单击“下一步”按钮。

图1.189 选择源表

(6)根据提示操作。最后单击“完成”按钮,将该表导入到SQL Server数据库db_CSell中。

(7)导入成功,弹出图1.190所示的对话框。

图1.190 成功导出数据

举一反三

根据本实例,读者可以:

导入SQL Server 2000数据库中的全部数据;

用SQL语句指定要导入的数据。

实例040 导入Access数据

这是一个提高效率的实例

实例位置:光盘\mingrisoft\01\040

实例说明

在为一家药店设计医药管理系统时,最初采用了小型的Access数据库,但由于该药店的业务不断扩大,决定采用比较大型的SQL Server数据库。如果在SQL Server中重新设计数据库,那么太浪费时间。本例介绍将Access数据导入到SQL Server数据库中的过程。

技术要点

要成功执行复制和转换数据的数据转换服务(DTS)任务,DTS包必须与其源数据和目的数据以及所有其他数据源(如查找表)建立有效的连接。

因为DTS的OLE DB体系结构,DTS允许与以各种OLE DB兼容格式存储的数据建立连接。此外,如果OLE DB提供程序可以用于这些数据源,并且使用Microsoft数据链接文件配置这些连接,则DTS包通常可以连接到自定义格式或非标准格式的数据。

DTS允许下列各种连接。

● 数据源连接。

包括连接到标准数据库(如Microsoft SQL Server 2000、Microsoft Access 2000、Oracle、dBase、Paradox)、ODBC数据源的OLE DB、Microsoft Excel 2000电子表格数据、HTML源,以及其他OLE DB提供程序。

● 文件连接。

DTS对文本文件提供额外的支持。指定文本文件连接时,需要指定文件的格式。

(1)文本文件是分隔字段格式还是固定字段格式。

(2)文本文件是Unicode格式还是ANSI格式。

(3)行分隔符和列分隔符(如果文本文件是固定字段格式)。

(4)文本限定符。

(5)第一行是否包含列名。

● 数据链接连接。

在这些连接中,SQL Server外部的中间文件存储连接字符串。

实现过程

运用DTS导入/导出向导将Access数据库yyjxc.mdb中的表导入SQL Server数据库YYGLXT中,具体操作步骤如下。

(1)依次展开“服务器组”→“服务器”,右键单击“数据库”,在弹出的快捷菜单中选择“所有任务”→“导入数据”命令,如图1.191所示。打开“DTS导入/导出向导”对话框,如图1.192所示。

图1.191 选择导入数据

图1.192 DTS导入/导出向导

(2)单击“下一步”按钮,弹出图1.193所示的对话框,在“数据源”列表中选择Microsoft Access,单击按钮,选择所需的Access数据库,选择后其文件名将显示在“文件名”文本框中,如果原先没有“用户名”和“密码”,可以不填。

图1.193 选择Access数据库

(3)指定数据导入的目标数据库后单击“下一步”按钮,将显示“选择目的”对话框。在“目的”列表中,用户可以选择输出数据的格式类型。因为这里从SQL Server数据库中导入数据,所以在“目的”列表中指定导入数据的目标类型为“用于SQL Server的Microsoft OLE DB提供程序”,如图1.194所示。

图1.194 选择目的数据库为YYGLXT

如果事先没有创建SQL Server数据库YYGLXT,那么可以新建数据库,如图1.195所示。

图1.195 新建SQL Server数据库YYGLXT

(4)单击“确定”按钮,返回“选择目的”对话框。单击“下一步”按钮,打开图1.196所示的对话框。

图1.196 选择数据导入的方式

(5)单击“下一步”按钮,选择源表和视图。单击“全选”按钮,这里选择所有表和视图,然后单击“下一步”按钮。

(6)打开“保存、调度和复制包”对话框,选择“立即运行”,也可以保存为DTS包,通过设置调度的运行方式来控制它的运行时间,单击“下一步”按钮,如图1.197所示。

图1.197 选择DTS的运行方式

(7)完成DTS向导后,单击“完成”按钮,如图1.198所示。

图1.198 完成DTS向导

(8)系统自动开始数据库的导入,导入成功后的画面如图1.199所示。

图1.199 成功完成数据库的导入

举一反三

根据本实例,读者可以:

导入Access数据库中的部分数据;

用SQL语句指定要导入的Access数据。

实例041 导出数据到Access数据库

这是一个提高基础技能的实例

实例位置:光盘\mingrisoft\01\041

实例说明

Access数据库操作简单、使用方便的特点,使许多中小型管理软件都采用Access数据库。本实例介绍将SQL Server数据导出到Access数据库的过程。

技术要点

使用“选择目的”对话框可以指定所复制数据的目的。下列定义的选项并非都能用于所有提供程序。根据所选的提供程序,将显示下列选项的子集。

● 目的:选择与目的数据存储格式相匹配的数据专用驱动程序。

● 文件名:指定存储导入数据的路径和文件名(例如,C:\MyData.xls, \\Sales\Database\Northwind.mdb)。

● 用户名:为数据库连接指定用户名。

● 密码:为数据库连接指定密码。

● 高级:显示“高级属性”对话框,在其中可输入自定义设置。有关OLE DB提供程序属性的更多信息。

● UDL文件名:指定包含连接字符串的数据连接(.udl)文件的名称。

● 总是从UDL文件读取属性:请求包每次执行时都从指定的数据连接(.udl)文件搜索并读取连接字符串。包各次执行期间,数据连接文件的更改将包含在下一次运行中。如果选择此复选框,则需要为包部署.udl文件,以使包能够找到并读取该文件。如果不选择此复选框,则将连接字符串从.udl文件复制到包中,而不再引用该文件。以后只有通过直接编辑数据转换服务(DTS)包才能修改连接更改。

● 属性:显示“数据连接属性”对话框,可配置数据连接。在此对话框中所做的更改将包含于当前会话期间创建的包中,而不会更改数据连接文件。

● 用户/系统DSN:指定现有用户的名称或指定指向数据源的系统数据源名称(DSN)。

● 新建:显示“创建新数据源”对话框,可创建ODBC DSN。

● 文件DSN:指定指向数据源的现有文件DSN的名称。

● 服务器:指定存储数据的服务器名称。

● 使用Windows身份验证:指定包使用Windows身份验证登录到Microsoft SQL Server数据库。

● 使用SQL Server身份验证:指定包使用SQL Server身份验证登录到Microsoft SQL Server数据库。

● 数据库:列出指定的SQL Server上的数据库。

● 刷新:使得在Microsoft Windows 98计算机填充数据库列表。

实现过程

下面将SQL Server数据库db_manpowerinfo中的数据导出到Access数据库,具体操作步骤如下。

(1)依次展开“服务器组”→“服务器”→“数据库”,右键单击db_manpowerinfo数据库,在弹出的快捷菜单中选择“所有任务”→“导出数据”命令,如图1.200所示。此时打开“DTS导入/导出向导”对话框,如图1.201所示。

图1.200 选择导出数据

图1.201 DTS向导

(2)单击“下一步”按钮,在打开的对话框中指定数据导出的源数据库。在图1.202所示的“DTS导入/导出向导”对话框的“数据源”列表中选择不同的数据库类型。这里要导出SQL Server中的数据,所以指定源数据库类型为“用于SQL Server Microsoft OLE DB提供程序”,这是系统默认的数据类型。

图1.202 选择导出的数据源

(3)指定数据导出的目标数据库后单击“下一步”按钮,将显示一个“DTS导入/导出向导”对话框。在该对话框的“目的”列表中,用户可以选择输出数据的格式类型。因为这里将SQL Server数据导出到Access数据库中,所以在“目的”列表中指定导出数据的目标类型为“Microsoft Access”,单击按钮,选择所需的Access数据库,选择后其文件名将显示在“文件名”文本框中,如果没有“用户名”和“密码”,可以不填,如图1.203所示。

图1.203 选择Access数据库

注意:在导出SQL Server数据到Access数据库之前,应首先创建一个名为db_manpowerinfo的Access数据库。

(4)单击“下一步”按钮,打开图1.204所示的对话框。

图1.204 选择数据导出的方式

(5)单击“下一步”按钮,选择源表和视图。单击“全选”按钮,这里选择所有表和视图,然后单击“下一步”按钮。

(6)接下来的操作均使用默认选项。单击“完成”按钮,系统自动开始导出数据,导出成功后,弹出成功的窗口。

举一反三

根据本实例,读者可以:

将部分表导出到Access数据库。

实例042 导出数据到Excel

这是一个方便操作的实例

实例位置:光盘\mingrisoft\01\042

实例说明

Excel是集数据统计、数据分析、图表制作、打印等功能于一身的专业电子表格软件,可以使用导出数据的方法将SQL Server数据导出到Excel中进行各种处理。本实例将介绍将SQL Server数据导出到Excel中的过程。

技术要点

如果使用SQL Server身份验证,则必须输入正确的用户名和密码。

实现过程

下面将SQL Server数据库db_manpowerinfo中的“工资表”导出到Excel中,具体操作步骤如下。

(1)依次展开“服务器组”→“服务器”→“数据库”,右键单击db_manpowerinfo数据库,在弹出的快捷菜单中选择“所有任务”→“导出数据”命令,打开“DTS导入/导出向导”对话框。如图1.205所示。

图1.205 DTS导入/导出向导

(2)单击“下一步”按钮,指定数据导出的源数据库。在图1.206所示的“选择数据源”对话框的“数据源”列表中选择不同的数据库类型。这里要导出SQL Server中的数据,所以指定源数据库类型为“用于SQL Server的Microsoft OLE DB提供程序”,这是系统默认的数据类型。

图1.206 选择导出的数据源

(3)指定数据导出的目标数据库后,单击“下一步”按钮,将显示“选择目的”对话框。在该对话框的“目的”列表中,用户可以选择输出数据的格式类型。因为这里将SQL Server数据导出到Excel中,所以在“目的”列表中指定导入数据的目标类型为Microsoft Excel 97-2000,单击按钮,选择Excel文件,选择后其文件名将显示在“文件名”文本框中,如图1.207所示。

图1.207 选择Excel文件

注意:在导出SQL Server数据到Excel之前,应首先创建一个名为“工资表”的Excel文件。

(4)单击“下一步”按钮,打开图1.208所示的对话框。

图1.208 选择数据导出的方式

(5)单击“下一步”按钮,在打开的对话框中选择源表和视图,这里只选择“工资表”,如图1.209所示,然后单击“下一步”按钮。

图1.209 选择源表

(6)接下来的操作均使用默认选项。最后单击“完成”按钮,系统自动开始导出数据,导出成功后,弹出成功的窗口。

举一反三

根据本实例,读者可以:

使用向导导出数据到Excel;

将数据导出到文本文件。