- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7.2 数据库访问技术
访问数据库中的数据对象时,一般可采用两种访问方式:一是登录用户直接借助DBMS的数据操纵工具,通过图形或SQL命令接口联机访问;另外一种为程序代码通过应用程序编程接口(Application Programming Interface,API)进行数据库连接验证以及数据操作。两种数据库访问方式,可以抽象为图7.5的API访问方式)部分进行介绍。
图7.5 数据库访问结构示意
根据底层数据操作模式的差异,数据库接口可简单分为:本地(Local)数据库接口和客户机/服务器(Client/Server)数据库接口。
1.本地数据库接口
通过DBMS将用户数据请求转换成为简单的磁盘访问命令,并交由操作系统的文件管理系统执行;然后DBMS从文件管理系统得到数据响应并加以处理。由于DBMS数据文件组织结构的差异,本地型DBMS只能够读取特定的数据源。
2.客户机/服务器数据库接口
数据处理工作分散到工作站和服务器上处理。工作站通过特定的数据库通信API,把数据访问请求传给相应的服务器的后端数据驱动程序。由于不同客户机/服务器数据库管理系统通信机制的差异,异构数据库之间也难以实现透明通信互访。
因此,仅依靠特定DBMS提供的数据库访问接口难以支撑透明的、通用的异构数据库访问。后台数据库管理系统的变更或升级,需要程序员对特定API的重新学习,以及对应用程序代码的改写;而市场上DBMS产品众多,必将进一步加大系统开发人员的学习和维护压力,应用程序与数据源间的独立性难以真正实现。为此,建立更为通用的数据访问技术规范,为程序用户提供一套完整、统一的数据库访问接口,得到了数据库业界广泛认同与支持,并由此产生了众多成熟的数据库访问接口应用技术规范。
到目前为止,主流的数据库访问技术包括ODBC、MFC ADO、RDO、OLE DB、ADO、ADO.NET以及JDBC等通用技术标准。这些通用数据库访问技术的出现与发展大大降低了数据库系统开发与维护门槛,改善了数据库系统的移植性、扩展性,极大推动了数据库技术的发展与普及。下面就主流数据库访问技术发展与演化进行介绍。
7.2.1 ODBC
开放数据库互联(Open DataBase Connectivity,ODBC)数据库访问标准是微软公司于1991年11月首次提出的,是微软开放服务结构(Windows Open Services Architecture, WOSA)下与数据库相关的组成部分。它建立了一组数据库访问规范,并提供了一组标准API。目前ODBC可以在众多操作系统平台上使用,包括Windows、OS/2、SunOS、Solaris、Mac OS、SCO UNIX等。
在ODBC技术规范中,应用程序并不是直接对数据库进行操作,而是通过ODBC的驱动程序间接完成数据库访问。面向异构的数据库系统,应用程序依靠ODBC提供的统一的API进行编码,数据源变化主要涉及特定的驱动程序加载变换,从而把应用程序从特定的数据库物理操作中独立出来,解决了在异构数据库管理系统之间移植难题。ODBC的数据访问架构如图7.6所示。
图7.6 ODBC的数据访问架构
由图7.6可知,ODBC系统包括应用程序、驱动管理器、各种驱动程序与数据源等对象,不同对象在ODBC的数据库访问过程中充当不同的角色。
1.
应用程序为数据库用户提供了数据交互界面,可以是Microsoft Word、Excel和Access等内嵌了ODBC支持的应用程序,也可以是由Java、C#、Visual C++或其他程序设计语言开发的用户程序。
数据访问时ODBC驱动程序管理器(如ODBC32.dll)进行静态或动态链接,主要工作包括:①向数据源申请连接;②发出SQL数据访问请求;③定义数据结果结构与空间;④获取数据访问结果;⑤判断处理状态,提交处理或者回滚;⑥释放数据源连接。
2.
驱动管理器是ODBC的一个重要组成部分,如在Windows的32位操作系统中,它包含在ODBC32.DLL动态链接库文件中。负责处理应用程序和ODBC驱动程序之间的连接,以及在网络中有关ODBC网络库和驱动程序之间的连接的问题。
驱动管理器主要工作如下:①使用ODBC初始化文件,把数据源名称映射到特定的数据库驱动程序上;②处理ODBC服务器的初始化操作;③为驱动程序提供ODBC调用入口;④为ODBC调用进行参数和操作验证。
3.
驱动程序(Driver)是用以支持ODBC函数调用的模块。应用程序必须通过调用驱动程序所支持的函数来对数据库进行操作。因为驱动程序通常是一个动态链接库,所以当应用程序需要连接到不同的数据库时,就要采用动态链接的方式去连接一个或者几个驱动程序。
驱动程序主要是执行 ODBC 的相关接口函数,并与对应的数据源(Dat
文档评论(0)