第7章链接.docx
- 文档编号:29664165
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:65
- 大小:56.46KB
第7章链接.docx
《第7章链接.docx》由会员分享,可在线阅读,更多相关《第7章链接.docx(65页珍藏版)》请在冰豆网上搜索。
第7章链接
第7章链接、导入和导出表
本章要点
•从其他应用或向其他应用移动数据•导入和链接电子数据表文件
•理解Access如何处理其他数据库文件格式的表•使用MicrosoftOutlook和Exchange文件夹
•链接和导入外部ISAM表•导入文本文件
•处理外部文件中的图像•使用剪贴板导入数据
•将字段数据类型转换为Access数据类型•从Access表导出数据
•从其他Access数据库链接表•疑难解答
•使用链接表管理器加载项重新链接表•现实世界—Microsoft的付出与回报
7.1从其他应用或者向其他应用移动数据
毋庸置疑,90%以上的个人计算机用户具有可以通过数据库管理技术来处理的数据。
任何
可以使用计算机安排在表格形式中的数据—甚至包括字处理文件中的表格—都可以被转换
为数据库的表。
关系型数据库管理系统(RDBMS)的优点便在于它处理存储在表中的大量数据
块以及将这些数据块用一种合理的方式联系起来的强大能力。
PC用户在所创建的数据量超过了标准生产性应用的操作能力之后,便会转向RDBMS。
一
个常见的例子便是在MicrosoftWord中创建的邮件列表。
随着列表中名字数量的增长,使用
Word来选择邮件和维护对邮件的回信开始变得越来越吃力。
PCRDBMS是操作较大的列表的
最为有效的应用类型。
Access的强项之一便是其导入文件的能力,即把现有的数据库表、电子数据表和由其他
DOS和Windows应用创建的文本文件转换为Access.mdb格式。
Access能够以它可以导入的任何
格式导出(或者创建)表文件。
大多数客户/服务器RDBMS都只能导入和导出文本类型的文件。
Access可以向当前的Access数据库链接一个由Access或者另一个RDBMS数据库创建的表
文件,这时Access将扮演数据库前端的角色。
因为Access具有链接能力,所以它可以以其自身
的格式使用由另一个RDBMS创建的文件。
而这种能力在其他PC和客户/服务器RDBMS中是不
常见的。
当你从一个不同的RDBMS链接一个数据库表时,你可以像对待包含在.mdb文件中的
Access表一样来显示和更新链接表。
如果包含表的文件是网络共享的,当它被链接到你的数据
库中后,其他人仍旧可以在他们的应用中使用这个文件。
链接文件的能力相当重要,原因有两
个:
你一次只能打开一个Access数据库;你可以在Access中创建新的应用,使之和由其他管理
器创建的应用并存。
Access2000还可以链接Outlook和MicrosoftExchange邮件、联系、任务、
日历文件夹和OutlookExpress邮件。
Outlook2000还允许向Jet4.0表导入和导出文件夹。
本章主要处理所谓的桌面数据库开发应用,之所以使用这个术语是为了将它们和客户/服
务器RDBMS,例如MicrosoftSQLServer、Sybase、Oracle、Informix数据库区分开。
客户/服
务器RDBMS是特为使用网络PC而设计的并且(除了Microsoft数据引擎(MSDE)之外)需要单
独拿出一台PC作为数据库应用服务器,运行这个RDBMS和存储数据库文件。
桌面RDBMS,
例如dBASE、VisualFoxPro和Paradox,比客户/服务器系统更为有用。
许多桌面RDBMS可以
142第一部分Access基础
在网络上共享文件,但是有几个桌面RDBMS供应商需要你购买特殊的多用户版本RDBMS之后
才能这样做。
多用户桌面RDBMS,虽然可以适应传统的网络例如NovellNetWare、Windows
NTServer或者IBMWarpServer所要求的工作站服务器配置,但更为适合对等网络环境。
这个
问题我们在第24章“多用户网络应用的安全”再进行讨论,第24章主要介绍如何在Access中
使用共享数据库文件。
7.2理解Access如何处理其他数据库文件格式的表
传统的桌面数据库开发应用将每个表都维护在一个单独的文件中。
每个文件包含有一个头,
后面跟着存储数据。
头其实就是一组字节,用以提供有关文件结构的信息,例如字段的名字和
类型、表中记录的个数、文件长度等。
例如,当你在dBASE、VisualFoxPro或者Paradox中创
建表文件时,文件只包含一个头。
随着你向该文件添加记录,文件大小便按记录所需要的字节
数量不停地增长,而头部也将被随时更新以反映新的文件大小和记录的数量。
桌面RDBMS创建了各种追加文件,其中有些需要导入、链接或者导出RDBMS:
•dBASE和VisualFoxPro在另一个.dbt文件中存储备注类型的数据。
如果一个dBASE表文
件中包含有备注字段,则.dbt文件必须是可用的。
如果.dbt文件丢失了,你便不能导入或
者链接包含有备注字段的dBASE或者VisualFoxPro表。
•.ndx(dBASEIII)、.mdx(dBASEIV)或者.idx或者.cdx(FoxPro)索引文件的使用是可选的。
当有索引文件的时候,一般来说你总是会使用它们。
如果你在链接一个索引.dbf表文件
时没有链接该索引文件,则对链接表的改变将不会反映到索引中,这将在dBASE或者
VisualFoxPro试图使用索引表时导致错误出现。
•Paradox将有关主键索引文件(.px)的信息存储在附加的表(.db)文件中;.db文件的.px文件在
Access打开一个Paradox.db文件进行更新时必须是可用的。
如果该文件是存在的,
Access将自动地链接这个.px文件。
与dBASE相似,Paradox也是将备注类型的数据存储在
一个扩展名为.mb的文件中。
注意在Access2000中,Microsoft大大地减少了对dBASE和Paradox表的内在支持。
链接的
dBASE和Paradox文件是只读的,你无法导出或者附加dBASE或者Paradox索引,除非你的计算机
上装有Inprise公司的Borland数据库引擎(BDE)。
关于BDE的更多信息可以在http:
//www.borland.com/bde/上得到,现在BDE被包含在了Delphi4.0开发平台中。
如果你有一个比
5.01更早的BDE版本,你便可以从http:
//www.borland.com/devsupport/bde/bdeupdate.html上得到对
5.01版本的免费升级。
当在Access中使用相关的数据库文件时,所有追加文件必须包含在同一个文件夹中。
注意默认的导出和导入文件夹是C:
\MyDocuments(Windows9x)和C:
\Winnt\Profiles\UserName\
Personal,除非在“选项”对话框中的“常规”页下改变了默认的数据库文件夹项。
Access2000.mdb文件头与传统的PCRDBMS文件不同,.mdb文件头包含的信息是一系列
系统表,这些系统表包含所有存储在单个Access文件中的表、索引、宏、VBA函数和过程的
有关信息。
Access系统表还包含有链接到Access数据库的其他PCRDBMS文件的位置和特征信
息。
Access的系统表与客户/服务器数据库中用来维护数据库设备(文件)内容、数据库和设备中
包含的表等信息的表有点类似。
注意需要查看Access2000系统表时,可以选择“工具”,“选项”。
选择“视图”选项卡,在
“显示”选项组中,选择“系统对象”。
永远不要修改这些表中的任何内容(它们大多是只读的)。
有些数据库开发人员曾使用这些表中的
数据和值来辅助对数据库中某些项的引用。
但是这并非一个好的习惯,因为这些表的设计不能
保证在各个版本之间保持一致,并且在以后将数据库应用转换为一个新的Access版本时可能会导
致大量的重复性劳动。
7.2.1识别PC数据库文件格式
Access可以导入和导出如下类型的数据库表文件,它们都是最为常见的PC数据库管理器所
使用的:
•dBASE.dbf表和.dbt备注文件以及dBASEIII.ndx和dBASEIV、5.0、7.0.mdx索引文件。
dBASEIII+文件是PCRDBMS业界的主宰者。
大多数PCRDBMS和所有公共的电子数据
表应用都可以导入和导出.dbf文件;最为流行的格式为dBASEIII和IV。
这些RDBMS当中,
有些可以更新现有的.ndx和.mdx索引文件,而有些RDBMS可以创建这些索引文件。
只
有在你安装有BDE的情况下,Access2000才链接和导出.ndx和.mdx索引。
你必须具有
BDE版本5.01+才能导入、导出或者链接dBASE7.0表。
•VisualFoxPro.dbf表和.dbc数据库文件。
你可以导入VisualFoxPro文件,但是却不能导出
它们。
Access2000使用MicrosoftVisualFoxProODBC驱动程序进行导入和链接操作。
在OLEDB和ActiveX数据对象(ADO)之前,开放数据库连接(ODBC)是Microsoft用以连
接客户/服务器数据库和其他数据源的首选技术。
注意在Access2000中,不再具备Access9x的直接(ISAM)导出、导入和链接MicrosoftFoxPro2.0、
2.5、2.6和3.0文件的能力。
与dBASE和Paradox相似,Access2000减少了对VisualFoxPro文件的支
持。
但是,与dBASE和Paradox不同的是,Microsoft提供了将VisualFoxPro文件链接到Office2000
的支持。
•Paradox3.x、4.x、5.x、7.x、8.x.db表以及.px主键文件。
Access2000支持导入和导出
Paradox3.x、4.x、5.x.db和.mb文件。
只有在安装了BDE的情况下,你才可以链接带
有.px索引的Paradox文件。
注意如果你工作在多用户环境中,你必须对将要导入的文件具有独占访问。
在初始化导入过程
时,要保证没有任何人打开了这个文件,并且直到你关闭“导入”对话框为止,任何人对该文
件的访问都将被拒绝。
如果你不具有BDE的拷贝的话,你还必须具有对链接dBASE和Paradox文
件的独占访问。
警告在你确信你对链接表中的数据所做的修改对现有的数据库应用是100%正确之前,要确保
你的所有工作都是在一个备份上进行,不会影响到链接文件的原始副本。
7.2.2链接和导入外部ISAM表
ISAM是indexedsequentialaccessmethod(索引顺序存取方法)的简写,它是所有桌面
RDBMS表所使用的体系结构。
链接或者导入xBase或者Paradox文件,将之作为Access2000数
据库的一个表时,可以遵循如下步骤:
注意在Access95及其以前的版本中向Access数据库链接一个外部文件称为附加一个表。
不要把
链接外部文件到Access数据库和OLE链接搞混了;当你链接一个外部文件时,你只是得到了打开、
读取和修改该文件所需要的存取信息。
1)单击“显示数据库窗口”工具栏按钮或者选择“窗口”,“1数据库”。
在你链接或者导入
第7章链接、导入和导出表143
一个表之前,Access并不需要将所有打开的表都关闭。
2)如果你有一个可用于这个过程的测试数据,单击“打开数据库”工具栏按钮或者选择
“文件”,“打开数据库”,然后选择测试用数据库,将之打开,跳到步骤5。
3)如果你没有测试数据库,便需要创建一个,以便在本章中使用。
单击“新数据库”工具
栏按钮或者选择“文件”,“新数据库”,显示“新建”对话框。
4)在“新建”对话框中双击“数据库”图标,Access将显示“文件新建数据库”对话框。
在“文件名称”文本框中键入一个名字,例如MDBTest.mdb,单击“创建”。
你必须等上一会
儿,让Access完成创建和测试新数据库。
5)在这个例子中,我们将向数据库链接一个外部表。
选择“文件”,“获取外部数据”,“链
接表”。
“链接”对话框将出现(见图7-1),“链接”对话框其实是常见的Windows95和Windows
NT4.0打开对话框的一个变种。
如果你选择“文件”,“获取外部数据”,“导入”,“导入”对
话框将出现。
6)使用“文件类型”下拉列表选择你想链接的文件类型(如果你有一个合适的Paradox表可以
链接,选择Paradox。
否则选择dBASEIII、dBASEIV或者其他适合于你的表文件格式的类型)。
7)双击你想链接或者导入的表的名字(或者单击名字将之选定,然后单击“链接”按钮)。
Access为dBASE和Paradox表文件提供了标准扩展名。
图7-1在“链接”对话框选择一个链接到Access数据库的外部文件
提示你可以链接Access早期版本的表到Access2000数据库。
链接早期版本解决了混合版本数据
库之间的数据共享问题,这也是始终将一个.mdb文件用于表而将另一个.mdb文件用于应用数据
库对象的另一个原因。
如果你需要和运行Access97的PC客户机共享在Access2000中创建的数据
.mdb文件,你可以将这个文件保存为Access97格式的数据.mdb文件。
如果需要复习一下Jet4.0到3.51的转换过程,请参见3.6.3节“将数据库转换为Access97
格式”。
8)如果你选择的文件是被加密的并且需要口令才能解密,“需
要口令”对话框将出现。
键入口令,按下Enter。
9)在成功地链接或者导入了文件之后,将出现一个对话框确
认这个操作(见图7-2)。
如果你用同一个名字链接了多个,Access
将自动地在表的名字后面追加顺序数字。
“链接”对话框将保持打开状态;如果你想链接或者导入其他
144第一部分Access基础
图7-2在向数据库链接了一
个外部表之后,将出现
一个成功的消息
的外部表到这个数据库(大多数Paradox和xBase数据库都是由几个独立的表文件构成的),可以
重复步骤6到9,链接或者导入你想要的所有
文件。
如果你链接的是外部Access表,你只
需简单地单击每个表便可以一次选择你想链
接的所有的表。
10)在“链接”对话框中,单击“关闭”。
链接或者导入的表现在便列在“数据库”窗
口中了。
如果你链接一个文件,Access会添
加一个图标来指示数据库表的类型,添加一
个箭头指示链接过来的表(见图7-3)。
11)选择你链接的表,然后单击“打开”
按钮,在“表(数据表视图)”中显示该表中
的记录(见图7-4)。
或者也可以通过双击表的
名字将之打开。
图7-4链接Paradox文件的“数据表”视图
在你将一个外部文件链接为表之后,你便可以把它当作像是自己数据库中的一个表一样来
使用它了。
如果你没有安装BDE,则链接的dBASE和Paradox表是只读的。
一个常规的限制便
是你不能改变链接表的结构:
字段名、字段数据类型或者“字段大小”属性。
提示尽管你不能改变链接表的字段属性,但是你可以只在这个数据库中改变附加表的名字。
选
择“编辑”,“重命名”,键入表的新名字即可。
表的这个名字(称为别名)只是在当前的Access数
据库中改变了,但是在其本身所在的那个数据库中并没有改变。
7.2.3用ODBC链接VisualFoxPro表
可以使用Office2000提供的ODBC驱动程序将VisualFoxPro数据库或者表链接到Access数
据库。
必须使用Access2000提供的32位ODBC管理器应用(安装在Windows9x、WindowsNT
4.0和Windows2000控制面板中)为FoxPro表或者数据库创建一个ODBC数据源。
当使用ODBC
应用程序设计界面(API)来链接表时,数据源和数据库是同义词(在WindowsNT和Windows
2000中,ODBC管理器被称为ODBC管理员。
)
提示Office2000安装了32位Excel、FoxPro、Paradox、Access、dBASE和文本文件ODBC驱动
程序,此外还有SQLServer驱动程序。
ODBC和ODBC驱动程序在你选择了完全MicrosoftOffice
2000或者Access2000安装时将被安装,但是你必须在安装过程中明确说明要安装SQLServer
第7章链接、导入和导出表145
图7-3“数据库”窗口中显示的特殊图标指示出
链接的dBASE和Paradox表
ODBC驱动程序。
如果在你的系统上没有ODBC驱动程序,你可以运行Setup来安装它们。
其他可
用的ODBC驱动程序还有很多,它们由各个第三方厂商提供。
注意Microsoft正在用OLEDB替换ODBC,但是还没有为FoxPro文件创建OLEDB数据提供者。
(OLEDB数据提供者相当于ODBC驱动程序)。
OLEDB是第27章“理解通用数据访问、OLEDB
和ADO”的主题之一。
假定你安装了ODBC管理器和ODBC驱动
程序,请遵循如下步骤将VisualFoxPro表通过
ODBC链接到Access数据库:
1)打开一个Access数据库,选择“文件”,
“获取外部数据”,“链接表”,显示“链接”对
话框(参见图7-1)。
2)在“文件类型”下拉列表中选择ODBC
数据库。
Access将关闭“链接”对话框并显示
“选定数据源”对话框。
如果你想创建一个文
件来定义一个数据源,以便和他人共享,便接
受默认的“文件数据源”页。
这个例子使用了
本地PC注册表中的一个数据源项,所以单击
“机器数据源”选项卡(见图7-5)。
3)单击“新建”,打开第一个“创建新数
据源”向导对话框(见图7-6)。
4)如果你希望只有你可以使用这个新的数据源,便选择“用户数据源”选项,选取这个例
子所使用的数据源类型。
如果你想让登录到你的计算机的任何人都能够使用新的数据源,选择
“系统数据源”选项。
单击“下一步”继续后续的“创建新数据源”向导。
5)为你想链接的数据库选择适当的数据库驱动程序。
选择MicrosoftVisualFoxProDriver
(见图7-7)。
单击“完成”,显示本向导的最后一个对话框。
6)在最后一个对话框中,显示有一些总结性信息,包括已经创建的数据源的类型(系统或
者用户)和所选择的数据库驱动程序的名字(见图7-8)。
单击“完成”,结束新数据源的创建。
7)在创建一个新的数据源之后,必须对它进行配置。
Access现在将会显示出ODBC
MicrosoftVisualFoxProSetup对话框。
在DataSourleName文本框中为新的数据源键入一个名字,
146第一部分Access基础
图7-5“选定数据源”对话框。
其中显示的
是由Office2000安装的ODBC
“机器数据源”的默认设置
图7-6打开“创建新数据源”对话框图7-7选择VisualFoxProODBC驱动程序
在Description文本框中为这个数据源输入一段
描述。
如果.dbc文件包含有VisualFoxPro表,
选择VisualFoxPro数据库选项;如果该文件
是.dbf格式,选择FreeTabledirectory选项(见
图7-9)。
8)单击“Browse”,显示SelectDirectory
ContainingFreeTables对话框。
Select
DirectoryContainingFreeTable...对话框是一
个Windows3.x风格的文件打开对话框。
如果
需要,使用Drives和Directories列表定位你的
FoxPro文件所在的正确文件夹并从“文件夹”
列表中选择其名字(见图7-10)。
9)单击“确定”两次,返回“选定数
据源”对话框,在“数据源名称”列表中
选择新的数据源(参见图7-5),然后单击
“确定”。
Access打开“链接表”对话框(见
图7-11)。
10)“链接表”对话框在文件夹中列出
了你在步骤8中选定的FoxPro表。
单击每个
表名字将之选定(这个例子只有一个FoxPro
表,Customer)。
在你选择了你想链接的所有
表之后,单击“确定”。
Access将关闭“链接
表”对话框,显示“选定唯一的记录标识符”
对话框。
11)如果你想要更新ODBC链接表中的数
据,你必须选择一个字段(或者字段组合),
为表中的每一行创建一个唯一的记录标识
符。
从本质上讲,就是为链接表创建一个代
理主键。
用单击的方法选择一个字段,然后
单击“确定”。
在这里主键字段为customerid
(见图7-12)。
第7章链接、导入和导出表147
图7-8创建VisualFoxProODBC数据源过程中
“创建新数据源”向导的最后一个对话框
图7-9配置一个新的VisualFoxProODBC数据源
以便使用独立的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 链接