![SQL应用开发参考手册](https://wfqqreader-1252317822.image.myqcloud.com/cover/868/621868/b_621868.jpg)
第2章
数据库的基本操作
2.1 创建数据库对象
本节主要以SQL Server数据库为例讲解如何创建数据库对象。
2.1.1 创建数据表
在使用数据库的过程中,接触最多的就是数据库中的表,表中存放了数据库中的所有数据,所以表是SQL Server数据库系统的基本信息存储结构,也是数据库中最重要的部分,管理好表自然就管理好了数据库。
创建表的过程就是定义表列的过程,下面在Microsoft SQL Server Management Studio中创建数据表mrkj,具体操作步骤如下。
(1)启动"Microsoft SQL Server Management Studio",并连接到SQL Server 2008中的数据库。
(2)鼠标右键单击“表”选项,在弹出的快捷菜单中选择“新建表”命令,如图2.1所示。
(3)进入“添加表”对话框,如图2.2所示。在列表框中填写所需要的字段名,单击“保存”按钮,即添加表成功。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0427-01.jpg?sign=1739522067-FdISS0fzZb1zWQ8jGQJHgZ466APrnFF5-0-547df23471af4bc63144c4ae10800897)
图2.1 新建表
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0438-01.jpg?sign=1739522067-DxEdDCrlT1Xq5g7UlGncgrsTWsu9WeHz-0-6c28df8b72350a885e3a5112630b600f)
图2.2 创建数据表名称
2.1.2 创建视图
视图设计器以可视化的形式创建视图,视图设计器分为四个部分。
●“关系图区”以图形方式显示正在查询的表和其他表结构化对象,如视图。同时,也显示它们之间的连接关系。每个矩形代表一个表或表结构化对象,并显示可用的数据列以及表示每列用于查询的图标,如排序图标等。矩形之间的连接线表示两个表之间的连接。
●“网格区”是一个类似电子表格的网格,用户可以在其中指定视图的选项,如在视图中显示哪些数据列、哪些行等。通过“网格区”可以指定要显示列的别名、列所属表、计算列的表达式、查询的排序次序、搜索、条件以及分组准则等。
●“SQL区”显示用于查询视图的SQL语句。可以对设计器自动生成的SQL语句进行编辑,也可以输入自己的SQL语句。对于不能用“关系图区”和“网格区”创建的SQL语句(如联合查询),就可以在该区写入相应的SQL语句。
●“结果区”显示最近执行的选择查询的结果。可以通过编辑该网格单元中的值对数据库进行修改,而且可以添加或删除行。在视图设计器中,“结果区”也可以显示视图的定义信息。
下面在Microsoft SQL Server Management Studio中创建视图"View_Stu",具体操作步骤如下。
(1)启动"Microsoft SQL Server Management Studio",并连接到SQL Server 2008中的数据库。
(2)在“对象资源浏览器”中展开“数据库”节点,展开指定的数据库“db_2008”。
(3)鼠标右键单击“视图”选项,在弹出的快捷菜单中选择“新建视图”命令,如图2.3所示。
(4)弹出“添加表”对话框,如图2.4所示。在列表框中选择学生信息表"student",单击“添加”按钮,然后单击“关闭”按钮。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0449-01.jpg?sign=1739522067-TJGxOzLaDyXQb6pYABok91a8dOTeVCNt-0-ee79fc502dcc19915c67b9e7cff038ec)
图2.3 新建视图
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0460-01.jpg?sign=1739522067-oK9kMinyRxoQGDq7ZBSMHgV21vDSn0xI-0-a319978732288c4f1072f00376c9e7b3)
图2.4 “添加表”对话框
(5)进入“视图设计器”界面,如图2.5所示。在“表选择区”中选择“所有列”选项,单击执行按钮,视图结果区中自动显示视图结果。
(6)单击工具栏中的“保存”按钮,弹出“选择名称”对话框,如图2.6所示。在“输入视图名称”文本框中输入视图名称"View_student",单击“确定”按钮即可保存该视图。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0471-01.jpg?sign=1739522067-AXiPtIrYA9qZz4e1pyhhLafKctX1orVm-0-a2b6c284bf700a8ab0b553e1871a16f4)
图2.5 视图设计器
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0482-01.jpg?sign=1739522067-Qt17pL3BcmC4XZYqqHqno4hod3X6IlB8-0-da99c747e50be17f4dff9f5e55a2382e)
图2.6 “选择名称”对话框
2.1.3 创建存储过程
下面在Microsoft SQL Server Management Studio中创建存储过程"Proc_Stu",要求完成以下功能:在Student表中查询男生的Sno、Sex、Sage这几个字段的内容。具体操作步骤如下。
(1)启动"Microsoft SQL Server Management Studio",并连接到SQL Server 2008中的数据库。
(2)在“对象资源管理器”中选择指定的服务器和数据库,展开数据库的“可编程性”节点,鼠标右键单击“存储过程”,在弹出的快捷菜单中选择“新建存储过程”命令,如图2.7所示。
(3)在弹出的“连接到数据库引擎”对话框中,单击“连接”按钮,便出现创建存储过程的窗口,如图2.8所示。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0493-01.jpg?sign=1739522067-4Qxe7VW7tZgiN1hyCTJq4j9fMXLwEf0u-0-8592640c521eeaaef82c7f4c5ce8521a)
图2.7 选择“新建存储过程”命令
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0504-01.jpg?sign=1739522067-KABYYoWHjvQwBeAKyZe9sCHdBiqJuwzq-0-0547d4c59f941ca13d9294a666039e07)
图2.8 创建存储过程窗口
(4)在创建存储过程的窗口中,将对应的SELECT语句修改为以下语句:
SELECT Sno,Sname,Sex,Sage FROM Student WHERE Sex='男'
2.1.4 创建触发器
在SQL Server Management Studio中创建触发器的操作步骤如下。
(1)在操作系统的任务栏中依次选择“开始”→“所有程序”→“Microsoft SQL Server 2008”→"SQL Server Management Studio"。
(2)在"Microsoft SQL Server Management Studio"窗口中选择指定数据库中的指定表,展开表节点,选择“触发器”,单击鼠标右键,在弹出的快捷菜单中选择“新建触发器”命令,如图2.9所示。
(3)在"Microsoft SQL Server Management Studio"窗口右侧显示创建触发器的模板,如图2.10所示。然后根据该模板编写相应的SQL语句即可。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0508-01.jpg?sign=1739522067-JQphAT7kdzEYx87Wm577psjYx95212eY-0-2f84b52f9205c2532ba998f0c6362b92)
图2.9 选择“新建触发器”命令
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0428-01.jpg?sign=1739522067-BRsPHl1PRICruK0RdMdi0RzKkCoFeHDi-0-981db4e7dc139d95e4696c6d1f667082)
图2.10 创建触发器的模板
2.2 备份和恢复数据库
在数据库使用过程中,数据的备份和恢复工作是保证数据安全性的一个重要操作。科学地管理数据库,可以从多种故障中恢复数据,例如媒体故障、用户错误及服务器永久丢失。同样也可以使用备份和恢复数据库的方法,实现两个数据库之间的复制工作。
备份数据库是指对数据库或事务日志的复制,当系统、磁盘或数据库文件损坏时,可以使用备份文件进行恢复,防止数据丢失。
恢复数据库是在备份数据库基础上的操作,只有在数据库备份后,才能通过备份文件对数据库进行还原操作。在计算机受到病毒的破坏、磁盘损坏等原因导致数据丢失、不完整或数据错误时,通过对数据库的恢复,将数据恢复到备份数据库中的某一时间,以减少用户的损失。本节将介绍SQL Server数据库和Oracle数据库的备份和还原。
2.2.1 备份SQL Server数据库
“备份数据库”任务可执行不同类型的SQL Server数据库备份(完整备份、差异备份和文件备份)。
下面以备份数据库“MRKJ”为例介绍如何备份数据库。具体操作步骤如下。
(1)启动"Microsoft SQL Server Management Studio",并连接到SQL Server 2008中的数据库。在“对象资源管理器”中展开“数据库”节点。
(2)鼠标右键单击要备份的数据库“MRKJ”,在弹出的快捷菜单中选择“任务”→“备份”命令,如图2.11所示。
(3)弹出“备份数据库”对话框,如图2.12所示。在“常规”选项卡中设置备份数据库的数据源和备份地址。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0429-01.jpg?sign=1739522067-mFb575isYQdUeBkUup8K8yE64bByPLRP-0-9b06f477592beb85720aefb384ef7e9d)
图2.11 选择备份数据库
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0430-01.jpg?sign=1739522067-VeYHPHv6PNi5Q4jUFGiRbEr9roxBIqqj-0-9b94a347631f9d9f1a89cb9853037cdd)
图2.12 “备份数据库”对话框
在该对话框中设置以下几项:
●在“数据库”下拉列表框中验证数据库名,如果需要也可以更改备份的数据库名称。
●在“备份类型”下拉列表框中选择数据库备份的类型,这里选择“完整”备份。同时选择“备份组件”区域中的“数据库”单选框,备份整个数据库。
●根据需要通过“备份集过期时间”选项设置备份的过期天数。取值范围为0~9999,0表示备份集将永不过期。
在“目标”区域中单击“添加”按钮,弹出“选择备份目标”对话框,如图2.13所示,这里选择“文件名”单选框,单击其后的浏览按钮,选择文件名及其路径。
(4)单击“确定”按钮,返回到“备份数据库”对话框。选择“选项”选项卡,如图2.14所示。这里在“覆盖媒体”区域中选择“备份到现有媒体集”→“追加到现有备份集”单选框,把备份文件追加到指定介质上,同时保留以前的所有备份。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0431-01.jpg?sign=1739522067-UNV6VyuefXgX0Dr8jP1SXXKkcDoalQwY-0-4380fa460b1767568401aa36fe27339b)
图2.13 “选择备份目标”对话框
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0432-01.jpg?sign=1739522067-fLHPlUew5f34xOJnbZQFNVyp8Y3iHwwg-0-09b29b6040b46ebe275a259c1f39c0b7)
图2.14 “备份数据库”对话框
(5)单击“确定”按钮,系统提示备份成功的提示信息,如图2.15所示。单击“确定”按钮后即可完成数据库的完整备份。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0433-01.jpg?sign=1739522067-CszLNClnMa4JFp6UtjIwNNIJH9p7f5I4-0-349166602d061220aa8c3b12595a62ae)
图2.15 提示信息
2.2.2 还原SQL Server数据库
执行数据库备份的目的是便于进行数据恢复。如果发生机器错误、用户操作错误等,用户就可以对备份过的数据库进行恢复。
下面以还原数据库“MRKJ”为例介绍如何恢复数据库。具体操作步骤如下。
(1)启动Microsoft SQL Server Management Studio,并连接到SQL Server 2008中的数据库。在“对象资源管理器”中展开“数据库”节点。
(2)鼠标右键单击要恢复的数据库“MRKJ”,在弹出的快捷菜单中选择“任务”→“还原”→“数据库”命令,如图2.16所示。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0434-01.jpg?sign=1739522067-k4wy0FNSikbiSxgGqDlPfwiwaDoGEAMj-0-19175fd69ed2a476ae0fb52c7b051c74)
图2.16 选择还原数据库
(3)弹出“还原数据库”对话框,在该对话框的“常规”选项卡中设置还原的目标和源数据库,在该对话框中保留默认设置即可,如图2.17所示。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0435-01.jpg?sign=1739522067-BdetafpduRcoaUcQ5JMq6XkchTZe0bhX-0-3acc7b576a49758ab7efe2c44366a90f)
图2.17 还原数据库
(4)选择“选项”选项卡,设置还原操作时采用的形式以及恢复完成后的状态,如图2.18所示。这里在“还原选项”区域中选中“覆盖现有数据库”复选框,以便在恢复时覆盖现有数据库及其相关文件。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0436-01.jpg?sign=1739522067-76j990fKdNJAXaIoAaUu0Bf2bw5myROj-0-522820d0d889cb71431e4c0962d9c09b)
图2.18 “选项”选项卡
(5)单击“确定”按钮,系统提示还原成功的提示信息,如图2.19所示。单击“确定”按钮后即可完成数据库的还原操作。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0437-01.jpg?sign=1739522067-x2MmADSoUYbl7jx2ErbOxPrNlbVOFVxB-0-53f370770199552caf07782b731d5e58)
图2.19 提示信息
2.2.3 备份Oracle数据库
以下操作实现的是使用Oracle EM管理工具备份Oracle DBMR数据库的操作。
(1)在浏览器的URL中输入“http://主机名称:端口号/em”(例如本示例中为http://192.168.1.23:5501/em)进入EM登录界面,如图2.20所示。在该页面中输入用户名和口令,连接身份选择"Normal"。
(2)进入EM界面后,单击EM的“数据库实例”→“维护”标签,进入图2.21所示的“维护”选项卡页面。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0439-01.jpg?sign=1739522067-vtb5Uj98QRQIrOE6wdLJJZhBoKb2mVyp-0-b6e0aaf45935eb4c3b4d4d75f9a953e3)
图2.20 进入EM界面的登录窗口
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0440-01.jpg?sign=1739522067-xuiGsyQ028FeYGiJBIIoI0WUqcXXuWXM-0-bfccf810fa52fabad767b441a2579c8c)
图2.21 “维护”选项卡页面
(3)在备份Oracle数据库前,需要对要备份的数据库进行恢复设置。单击图2.21中“备份/恢复设置”区域中的“恢复设置”选项,进入图2.22所示的页面。在该页面中需要选中“介质恢复”区域中的“ARCHIVELOG模式”(归档模式)复选框,然后单击页面右上方的“应用”按钮。
(4)完成以上操作后,将返回图2.21所示的页面,在该页面中单击“备份/恢复”区域中的“调度备份”选项,进入图2.23所示的页面。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0441-01.jpg?sign=1739522067-3eAmoe1VhOnhrPjc6ZXmx5SrVWgyAWO0-0-ba24621351512244340f0df34d622e73)
图2.22 “恢复设置”页面
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0442-01.jpg?sign=1739522067-YyQzMP1oC33CF6mHuLk9aoq7uRTgIRVI-0-e15d4ef68cb100d2087bd65a85067b97)
图2.23 “调度备份”页面
在“定制备份”区域中选择要备份的对象,这里保持其默认设置即备份整个数据库。
(5)单击图2.23(“调度备份”页面)中的“调度定制备份”按钮,进入图2.24所示的“调度定制备份:选项”页面。
在“备份类型”选项区域中选择备份类型为“完全备份”,其设置保持默认。
(6)单击图2.24页面右侧的“下一步”按钮,进入图2.25所示的“调度定制备份:设置”页面。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0443-01.jpg?sign=1739522067-eJdvfPHx61chLEd26Gkq9MKiOTreuKdZ-0-508bccbaeddf1856cee8382835d74b39)
图2.24 “调度定制备份:选项”页面
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0444-01.jpg?sign=1739522067-b1yIMRbpsC7b5cGCeZXYsV6x6HVmKlVf-0-0af70ffc40b651f38a0c0dd3165b9cab)
图2.25 “调度定制备份:设置”页面
这里需要注意的是数据库的磁盘备份位置是安装Oracle数据库时的默认路径,可以更改,操作步骤如下。
(1)单击图2.21“备份/恢复设置”区域中的“备份设置”选项,进入图2.26所示的页面。
(2)在“磁盘备份位置”文本框内输入备份的磁盘路径(例如E:\backup),然后单击页面右侧的“测试磁盘备份”按钮,如果测试成功将显示“磁盘备份测试成功”信息。设置完成后,磁盘备份位置就会更改为:E:\backup。
(3)单击图2.25页面右侧的“下一步”按钮,进入图2.27所示的“调度定制备份:调度”页面。保持该页面中的默认设置。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0445-01.jpg?sign=1739522067-kX0IGoflOOutyCquyCMW2ToL2LAjSrHS-0-bdd5b135d233821c0821fed9ceeca162)
图2.26 “备份设置”页面
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0446-01.jpg?sign=1739522067-NJzsYk9nWPyROusgYbJLeTZm1sspee5S-0-1fa7a7af450e098f5bb1616c68e7c27a)
图2.27 “调度定制备份:调度”页面
(4)单击图2.26页面右侧的“下一步”按钮,进入图2.28所示的“调度定制备份:复查”页面。保持该页面中的默认设置。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0447-01.jpg?sign=1739522067-FRY2wgIBVZmHeVSZ37xPHwfCYtJBNynI-0-a525be61a02f9ab8effc306e72978925)
图2.28 “调度定制备份:复查”页面
(5)单击图2.28页面右侧的“提交作业”按钮,进入图2.29所示的“已成功提交作业”页面。单击该页面中的“查看作业”按钮,进入“作业活动”页面,如图2.30所示,可以在该页面“结果”区域中的“状态(执行)”选项中查看Oracle数据库的备份是否成功(本示例的执行状态为“成功”)。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0448-01.jpg?sign=1739522067-tFlqhIRNefMmo73GeorTxgqdCn6WbzjT-0-7727fedc96979c92b3fa3d9892309eee)
图2.29 “已成功提交作业”页面
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0450-01.jpg?sign=1739522067-mEQfkH4ICERiN3X0TfX87jCtYuvx7Zrg-0-aa44778fae3691772eb6531cb9818ae3)
图2.30 “作业活动”页面
2.2.4 还原Oracle数据库
以下操作实现的是使用Oracle EM管理工具还原Oracle DBMR数据库的操作。
(1)在浏览器的URL中输入:“http://主机名称:端口号/em”(例如本示例为http://192.168.1.23:5501/em)进入EM界面。
(2)进入EM界面后,单击EM的“数据库实例”→“维护”标签,进入图2.31所示的“维护”选项卡页面。在该页面的“高可用性”区域中单击“执行恢复”选项。
(3)完成以上操作后,进入“执行恢复”页面,如图2.32所示。在“整个数据库恢复”区域中选中“恢复到当前时间或过去的某个时间点”单选框,然后单击该页面右侧的“执行整个数据库恢复”按钮,其他选项保持默认设置。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0451-01.jpg?sign=1739522067-1YJt6JdRRCOEw1hPu0mgWxiWENyRzD20-0-ab26f3cf5834b120b6aa0da7b742129c)
图2.31 “维护”选项卡页面
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0452-01.jpg?sign=1739522067-b6uq5oCG34WAVwKNcekooDVWc7V4y5dC-0-a639400202769ae6cb2c8ba77faee05e)
图2.32 “执行恢复”页面
(4)完成以上操作后,进入“确认”页面,如图2.33所示。在该页面中将有如下提示信息:“数据库当前处于OPEN状态和ARCHIVELOG模式。要执行整个数据库恢复,数据库首先关闭,然后进入MOUNTED状态。是否确实要立即关闭数据库?”。单击该页面中的“是”按钮,关闭连接的数据库。
(5)关闭所连接的数据库后,将进入数据库示例:DBMR的“维护”页面,如图2.34所示。单击该页面中的“执行恢复”选项。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0453-01.jpg?sign=1739522067-1H5XgykaMKrRVvY0M6GQER8klHhkmAuq-0-9c765903aeb9eb27b20b90eeac5e0843)
图2.33 “确认”页面
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0454-01.jpg?sign=1739522067-kIv2LsuYClxbSW3sVmDaH7owzbYhjGnq-0-ab3ee7b3488919b3056304c5a0d9080c)
图2.34 “维护”页面
(6)完成以上操作后,将进入“执行恢复”页面,如图2.35所示。此时该页面将显示数据库当前状态为MOUNTED(归档模式)。在“主机身份证明”区域中的“用户名”和“口令”文本框内分别输入主机的用户名和口令。
(7)单击图2.35页面右侧的“执行整个数据库恢复”按钮,进入图2.36所示的“执行恢复:结果”页面。此时可以查看到数据库恢复操作成功。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0455-01.jpg?sign=1739522067-8TWAFw43V9Vk3PWItTv5bnQDpdanyjXK-0-3320fdbaec1755f70d51f3dbe3ccbc8d)
图2.35 归档模式(MOUNTED)下的“执行恢复”页面
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0456-01.jpg?sign=1739522067-YzaL7AuXqiHC3T8CMVICtBAsEhi8cZci-0-777dce105dfc0c387903a7b52cd31807)
图2.36 “执行恢复:结果”页面
2.3 导入和导出数据
2.3.1 从SQL Server中导入数据表
导入数据是从Microsoft SQL Server的外部数据源中检索数据,然后将数据插入到SQL Server表的过程。
下面主要介绍通过导入和导出将SQL Server数据库“db_2008”中的部分数据表导入到SQL Server数据库“MRKJ”中。具体操作步骤如下。
(1)启动"Microsoft SQL Server Management Studio",并连接到SQL Server 2008中的数据库。在“对象资源管理器”中展开“数据库”节点。
(2)鼠标右键单击数据库“MRKJ”,在弹出的快捷菜单中选择“任务”→“导入数据”命令,如图2.37所示,此时将打开“SQL Server导入和导出向导”窗口。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0457-01.jpg?sign=1739522067-MGgV6iWKOJFIC2cJn8LW38B6U6zEAOOb-0-74aef2b551df2499999836756e62f055)
图2.37 选择导入数据
(3)单击“下一步”按钮,打开“选择数据源”窗口,在该窗口中首先选择数据源,然后选择服务器名称,再选择身份验证方式,最后选择导入数据的源数据库,这里选择“db_2008”数据库,如图2.38所示。
(4)单击“下一步”按钮,打开“选择目标”窗口,在该窗口中选择要将数据库复制到何处,如图2.39所示。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0458-01.jpg?sign=1739522067-hhxhLzxH4RynL8NWm3xlrAnE37jOIDx9-0-cbfd4461933dcb402426422977f8f62c)
图2.38 “选择数据源”窗口
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0459-01.jpg?sign=1739522067-rLCsooBBuNPTc6FAy3ClUR0BWwtW7EKa-0-91454a9154b7ea9efcac59e3ea6c927b)
图2.39 “选择目标”窗口
说明 在选择要将数据库复制到何处时,首先需要输入服务器名称,然后选择身份验证方式,并输入用户名和密码,最后选择数据库即可。
(5)单击“下一步”按钮,打开“指定表复制或查询”窗口,在该窗口中选择是从指定数据源复制一个或多个表和视图,还是从数据源复制查询结果,这里选中“复制一个或多个表或视图的数据”单选框,如图2.40所示。
(6)单击“下一步”按钮,打开“选择源表和源视图”窗口,在该窗口中选择一个或多个要复制的表或视图,这里选择"Employee"表,如图2.41所示。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0461-01.jpg?sign=1739522067-k5dpdowUIj0pmPUB1ztcFm7CB2fa0QPb-0-a7db970652c4c1fc78c0fed30210a1bf)
图2.40 “指定表复制或查询”窗口
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0462-01.jpg?sign=1739522067-HZCwz5tSkU0HgT6tGyZNplPuonkW9vO5-0-4822f5ceed29078956159692be2d8bf0)
图2.41 “选择源表和源视图”窗口
(7)单击“下一步”按钮,打开“保存并运行包”窗口,该窗口用于提示是否选择SSIS包,如图2.42所示。
(8)单击“下一步”按钮,打开“完成该向导”窗口,如图2.43所示。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0463-01.jpg?sign=1739522067-yRBorhtlfGZzoVBF9e7tgj9HItsGSiuN-0-eac20f2d9ac4462bac2b93879f62356b)
图2.42 “保存并运行包”窗口
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0464-01.jpg?sign=1739522067-3jtyRyWrrjmULoRTVioUWJ4EGgDh2LIl-0-dee4cc256e4268011c34f3a87766552e)
图2.43 “完成该向导”窗口
(9)单击“完成”按钮开始执行复制操作,打开“执行成功”窗口,如图2.44所示。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0465-01.jpg?sign=1739522067-NTcsCk0XvL1g4nEtmsNigTvETZSnaf8F-0-11f139d0bad49b0d20721f760557e34a)
图2.44 “执行成功”窗口
(10)最后单击“关闭”按钮,完成数据表的导入操作。
(11)展开数据库“MRKJ”,单击“表”选项,即可从数据库中查看从数据库“db_2008”中导入的数据表,如图2.45所示。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0466-01.jpg?sign=1739522067-MaFAY5U3uzNZqgz3cfNyXmYckfaO5FAA-0-2f0c622217e464d156c39661a99ae423)
图2.45 导入的数据表
2.3.2 从SQL Server中导出数据表
导出数据是将SQL Server实例中的数据设为某些用户指定格式的过程,如将SQL Server表的内容复制到Excel表格中。
下面主要介绍通过导入导出向导将SQL Server数据库“db_2008”中的部分数据表导出到Excel表格中。具体操作步骤如下。
(1)启动"Microsoft SQL Server Management Studio",并连接到SQL Server 2008中的数据库。在“对象资源管理器”中展开“数据库”节点。
(2)鼠标右键单击数据库“db_2008”,在弹出的快捷菜单中选择“任务”→“导出数据”命令,如图2.46所示。此时将打开“选择数据源”窗口,在该窗口中选择要从中复制数据的源,如图2.47所示。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0467-01.jpg?sign=1739522067-lsk9yDp8yMljgm0r1444RYcNGUZd9n8W-0-43cd74d2ec4ea22046d2ffd90ad6e460)
图2.46 选择导出数据
(3)单击“下一步”按钮,打开“选择目标”窗口,在该窗口中选择要将数据库复制到何处。在该窗口中分别选择数据源类型和Excel文件的位置,如图2.48所示。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0468-01.jpg?sign=1739522067-pC3ihhPIbbgCVu5HZ2aKb9ZuQAsouTg1-0-e7597b837429ac73ffeb5d39495f9fda)
图2.47 “选择数据源”窗口
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0469-01.jpg?sign=1739522067-3HS2JKLiGgEyJ9vblkvg0BVzhQ1apzp1-0-7f3af8d504f8555bd474361255ccbe60)
图2.48 “选择目标”窗口
(4)单击“下一步”按钮,打开“指定表复制或查询”窗口,在该窗口中选择是从指定数据源复制一个或多个表和视图,还是从数据源复制查询结果,这里选中“复制一个或多个表或视图的数据”单选框,如图2.49所示。
(5)单击“下一步”按钮,打开“选择源表和源视图”窗口,在该窗口中选择一个或多个要复制的表或视图,这里选择"Employee"表和"Student"表,如图2.50所示。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0470-01.jpg?sign=1739522067-ZV8ZuJaZWhOpN4WKntFqxYPZyNzqhtnb-0-0d755e569931d7ddb48c60d0d7766437)
图2.49 “指定表复制或查询”窗口
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0472-01.jpg?sign=1739522067-gBt2n4Ysca1fEMoyhbd26b1Pw1SDWrK9-0-2ec7c1e4065cdd9a7f7227ce84da66c5)
图2.50 “选择源表和源视图”窗口
(6)单击“下一步”按钮,打开“保存并运行包”窗口,该窗口用于提示是否选择SSIS包,如图2.51所示。
(7)单击“下一步”按钮,打开“完成该向导”窗口,如图2.52所示。
(8)单击“完成”按钮开始执行复制操作,打开“执行成功”窗口,如图2.53所示。
(9)最后单击“关闭”按钮,完成数据表的导入操作。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0473-01.jpg?sign=1739522067-c2EiKePyhKCcfGcGSFA2DMd9H2vimndf-0-6d86698ad7f4f1b163f186df6bc497dd)
图2.51 “保存并运行包”窗口
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0474-01.jpg?sign=1739522067-D8aYmElaJXcySPpQZVNeE8MXF5rRLnlP-0-ee3e1cb58053bd0f7d3f4d50ef78f85b)
图2.52 “完成该向导”窗口
(10)打开book1.Excel,即可查看从数据库“db_2008”中导入的数据表中的内容,如图2.54所示,图2.55为student表中的内容。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0475-01.jpg?sign=1739522067-PC3P0jmj0DRNbrBGBJsplGdg9KcWk90E-0-c1d0084f5f68b64bfc7351b9c97e0ebc)
图2.53 “执行成功”窗口
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0476-01.jpg?sign=1739522067-kUByPUhE6nfabvqunkHMuLrV07Jt0nKx-0-21bdbf8c4f280747677a2355ce5bda92)
图2.54 Excel文件中的内容
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0477-01.jpg?sign=1739522067-MZYYf6eRnnVMXOKXNOe0OGrA4T57Vhcp-0-e3a433594e7133fe2577276cbefd3a6d)
图2.55 student表中的内容
2.3.3 从Oracle中导出数据表
从Oracle数据库中导出数据表使用EM管理数据文件的方法。
以下操作演示的是在数据文件管理页面进行导出Oracle数据库DBMR中表的操作。
(1)进入EM主页面后单击“维护”标签,进入“维护”选项卡页面,选择“导出到导出文件”选项,如图2.56所示。
(2)完成以上操作后,进入图2.57所示的页面,在该页面中选择导出类型:“表”,然后单击该页面中的“继续”按钮。
(3)进入“导出:添加表”页面,如图2.58所示。在该页面中单击方案图标,将弹出如图2.59所示的页面,选择可用方案中名为"MR"的方案。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0478-01.jpg?sign=1739522067-nIdIxDM0HQmTSNNSsDpOK1pERElWsV0x-0-a14df4424c16fc8fe6fe2e63f9c87b6b)
图2.56 EM主页面“维护”页面的“导出到导出文件”选项
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0479-01.jpg?sign=1739522067-L0zmtwj6wmfiaw7MVj3e70aJV3QQdzpx-0-05a04c17a9ee9118579904efb00002f9)
图2.57 选择数据库DBMR的导出类型
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0480-01.jpg?sign=1739522067-Fge1I8KpDp4lAC9iDQzCH34jYPq72SM5-0-bf29dabffb04523d2083c30401051eae)
图2.58 “导出:添加表”页面
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0481-01.jpg?sign=1739522067-AMKeTPHdm7Y771AJsnJ2ZTFDm22P3DNZ-0-83bf7b098c95a2dfa0c7133d98231cf9)
图2.59 选择可用方案
(4)选择方案"MR"后,单击该页面中的“开始”按钮,将会在页面中的“搜索结果”中显示要导出的方案MR下的所有数据表,如图2.60所示。这里选择该方案下的所有表,然后单击页面中的“选择”按钮,进入下一步操作。
(5)进入“导出:表”页面,单击“下一步”按钮即可,如图2.61所示。
(6)完成上一步操作后,进入“导出:选项”页面,如图2.62所示。在“可选文件”区域内选择“目录对象”中创建的"MRExport",单击该页面上部的“下一步”按钮。
(7)进入“导出:文件”页面,如图2.63所示。在该页面“选择目录对象”区域中选择创建的目录对象"MRExport",然后单击该页面上部的“下一步”按钮。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0483-01.jpg?sign=1739522067-shFo2HcOnG7s6x7RX723NvdXCB5DOoGr-0-1cadd2e8ac52d5efab48f3edb0fca2c7)
图2.60 选择要导出的数据表
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0484-01.jpg?sign=1739522067-FyP6cxZm65QxHWtNDT9kRQRGqUTfNPzG-0-07d273d5874804283b1bf4237681a745)
图2.61 “导出:表”页面
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0485-01.jpg?sign=1739522067-FXXvVjN0FezZBoTpUAsRZI0DcvoiIpn9-0-7d0c85c20108b75a9ee29fbe0ca488a8)
图2.62 “导出:选项”页面
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0486-01.jpg?sign=1739522067-fa76XxLpoIJou080BcV3TIUK9SyWkpbc-0-71c93814383ce51fc46141be2c5fec52)
图2.63 “导出:文件”页面
(8)完成以上操作,进入“导出:调度”页面,如图2.64所示。在该页面的“作业参数”区域内可以填写“作业名称”和“说明”两部分内容,其他选项选择默认即可,然后单击页面上部的“下一步”按钮。
(9)进入“导出:复查”页面,如图2.65所示,可以对所要导出的数据表进行复查工作。单击页面上的“提交作业”按钮,即可进入作业创建过程,如图2.66所示。
(10)完成以上操作后,查看“作业活动”结果,可以查看到从Oracle数据库中导出DBMR数据库表为执行成功状态,如图2.67所示。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0487-01.jpg?sign=1739522067-SxhvgYpfyLoC8UoyC7hGzlDZQDM7pRwZ-0-b8041db2e8606450bd5e53719bb2478b)
图2.64 “导出:调度”页面
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0488-01.jpg?sign=1739522067-tcQ9VGTN8ifaGnwWDEmaxwMLv98hghAp-0-9454bade817c83a7f899b1c14c57fc67)
图2.65 “导出:复查”页面
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0489-01.jpg?sign=1739522067-8hcs5vWCYjqkYUjZY4iLowvvn1P734cg-0-96c3de473ff63ac0103c90e689e0aab8)
图2.66 作业创建过程
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0490-01.jpg?sign=1739522067-PD5KZd1OIjvsoDgY4RsRkZMZuwKTDYgP-0-6eb84b15b4a7f6c96e3bc7464d6ccc76)
图2.67 作业活动结果
2.3.4 从Oracle中导入数据表
从Oracle数据库中导入数据表使用EM管理数据文件的方法。
以下操作演示的是将本地磁盘中导出的Oracle数据库表导入到Oracle dbsql数据库中。
(1)进入EM主页面后单击“维护”标签,进入“维护”选项卡页面,选择“从导出文件导入”选项,如图2.68所示。
(2)进入“导入:文件”页面,如图2.69所示。首先选择文件“导入类型”为表,然后在“文件”区域内的“选择目录对象”下拉列表框中选择名称为"mr"的目录对象。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0491-01.jpg?sign=1739522067-YYQs8zSRFfCuuwl2vkr4vth8IpqUCDY1-0-83f4583552fa17de44e93f09abb2e0bf)
图2.68 选择“从导出文件导入”选项
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0492-01.jpg?sign=1739522067-kysU6Kao4JILry6jazhrdnh4RAOn0KT8-0-ce4778981e4d9d7e11297d091b2a5b74)
图2.69 “导入:文件”页面
这里需要强调的是,在创建目录对象时,其路径的选择要填写所要导入文件的物理路径。
(3)完成以上操作后,进入“导入:处理:读取导入文件”页面,如图2.70所示。完成此操作后此页将自动跳转到下一页。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0494-01.jpg?sign=1739522067-4o0810j1422jC4O7y1l0KAemQu9WpASY-0-1231da5b0258867557db731d232f6fff)
图2.70 “导入:处理:读取导入文件”页面
(4)接下来共进行五步操作,依次为导入表、重新映射、设置选项、调度、复查。
导入读取成功后,将进入“导入:表”页面,如图2.71所示。在该页面中单击“添加”按钮,进行选择方案操作,本示例选择名称为"MR"的方案,如图2.72所示。
(5)选择可用方案后,单击图2.71页面中的“下一步”按钮,进入“导入:添加表”页面,如图2.73所示。在该页面中,首先在“搜索”选项区域内单击图标,选择可用的方案(本示例选择的是名称为"MR"的方案),注意选择的方案必须在Oracle数据库中存在,然后单击页面中的“开始”按钮,在“搜索结果”选项区域内显示该方案下所有的数据表。
单击“搜索结果”区域中的“全选”按钮,导出该方案下的所有数据表。完成以上操作后,单击界面中的“选择”按钮,进入“导入:表”页面,如图2.74所示。
(6)在“导入:表”页面中保持其默认设置,单击页面中的“下一步”按钮,进入“导入:重新映射”页面,如图2.75所示。
在该页面的“重新映射方案”区域内单击“添加另一行”按钮(通过此操作用户可以将一个方案中的数据导入到另一个方案中),本示例选择的目标方案名称为“SH”,如图2.76所示。
其他设置选择默认,单击该页面中的“下一步”按钮。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0495-01.jpg?sign=1739522067-rib8zMv2h8nhjTfDEJ6tLHghvAhgmsjP-0-de135bdffa753ab135c137e9c908a147)
图2.71 “导入:表”页面
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0496-01.jpg?sign=1739522067-YxshApvVCUp1IYRkrqC4Eu1IL16cnNX8-0-31cce027782855d0e9216a9779efa8de)
图2.72 “搜索和选择:可用方案”页面
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0497-01.jpg?sign=1739522067-0soWpg0bRiSH1uQkQHKNUWXOC9Yu88rR-0-837508dd2e4231c607c8ea203c042b99)
图2.73 “导入:添加表”页面
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0498-01.jpg?sign=1739522067-WJKOvDiKKMhcRd2gbEonvRLsuyxHk3fg-0-33534bdb29d543cbf4f9a2f7f0fb0097)
图2.74 “导入:表”页面
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0499-01.jpg?sign=1739522067-lnRiIIKbU6c3KeUWGyM5CStRLumb5wdL-0-8c7f54712e322a6367b971b858a90231)
图2.75 “导入:重新映射”页面
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0500-01.jpg?sign=1739522067-XBKgZfGnHkvoJNQIy9H6KJ1MUby8nAGT-0-1d00562c214da6291084a13267c1f8e3)
图2.76 选择的目标方案名称为“SH”
(7)完成以上操作,进入“导入:选项”页面,如图2.77所示。在该页面的“可选文件”区域内“目录对象”下拉列表框中选择名称为"Import"的目录对象,其他选项保持默认设置,然后单击页面中的“下一步”按钮。
(8)进入“导入:调度”页面,在该页面中用户可以指定导入作业的名称、说明和开始日期。本示例在“作业名称”文本框中输入“000666000”,如图2.78所示。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0501-01.jpg?sign=1739522067-dWcw3jPPTbbfIP3lwhrSCJqijvmCjfg8-0-b92698190e039adf18fc69613145dfa6)
图2.77 “导入:选项”页面
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0502-01.jpg?sign=1739522067-UXqhQfeQraQYzTQzyR1uLgjjBCl4y5h8-0-efa051c265083a1f575fb9687c32486b)
图2.78 “导入:调度”页面
(9)完成以上所有操作后,将进入最后一步“导入:复查”页面,如图2.79所示,可以对导入表的导入类型、日志文件等进行查看。然后单击该界面上的“提交作业”按钮,创建作业。此时,将进入“导入:正在进行中”页面,如图2.80所示。系统提示“提交作业已在处理中,完成此操作可能需要一段时间”,该操作完成后将自动跳转到下一页。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0503-01.jpg?sign=1739522067-A9Y1odFHnPMnZV8nKnauiGWDy5wfB3sk-0-64db711e3777675ac3ed7737a682c1b5)
图2.79 “导入:复查”页面
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0505-01.jpg?sign=1739522067-JicXeK7sBeyfnCGpTKb0Yl76QzLXe611-0-f3c1ef224874ae9254ff71456d46a9e5)
图2.80 “导入:正在进行中”页面
(10)如果提交的作业成功处理后,将会显示“已成功创建作业000666000”信息,如图2.81所示,在“结果”区域中的“状态(执行)”内会看到“已调度”状态。
(11)完成以上所有操作后,可以在EM管理工具的“维护”页面中查看作业的运行情况,如图2.82所示,在“执行数”区域内可以看到作业执行状态为成功状态。至此,从Oracle数据库中导入数据表的操作全部完成。
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0506-01.jpg?sign=1739522067-NWNqtnpS2YD302aIh3wXa9Xu7jhm1cRB-0-8108e05bda3950a770304cd7e01d1389)
图2.81 “作业活动”页面
![](https://epubservercos.yuewen.com/F2F51D/3590852503612601/epubprivate/OEBPS/Images/Figure-0507-01.jpg?sign=1739522067-xfRfIhGoqacdCUV21ZAoAadaPWdzkbot-0-c92f8b5c359109c4776df3b270e1951e)
图2.82 查看导入数据表是否成功