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;
将数据导出到文本文件。