数据库系统的访问

数据库系统的访问


2024年6月6日发(作者:)

第7章 数据库系统的访问

对于那些相对独立的软件供应商而言,经常要为每一个DBMS编写一个版本的应用程序,

或者为每个要访问的DBMS编写针对DBMS的代码。这就意味着,大量的资源都耗在了编写和

维护DB的访问上,更不用说应用程序了。此时应用程序的评价标准不再是质量,而是它能

否在给定的DBMS中访问数据库。

这就需要开放的数据库连接,就是人们需要用一种新的方法来访问不同的数据库。为此,

在C/S,B/S系统中必须广泛使用访问接口技术,以隐藏各种复杂性,屏蔽各种系统之间的

差异。常见的数据库访问接口的技术有固有调用、ODBC、JDBC、OLE DB、DAO、ADO、

以及基于XML的数据库访问等几种流行的方式。这其中以ODBC技术和JDBC技术应用最广泛,

也是目前最为优秀的访问接口方式。

本章主要对几种常见的数据库访问技术(如固有调用、ODBC、JDBC、OLE DB、DAO、ADO、

以及基于XML的数据库访问等)进行介绍。

7.1 数据库的访问接口

所谓访问接口是指分布式环境中保证操作系统、通信协议、数据库等之间进行对话、互

操作的软件系统。

访问接口的作用是保证网络中各部件(软件和硬件)之间透明地连接,即隐藏网络部件

的异构性,尤其保证不同网络、不同DBMS和某些访问语言的透明性,即下面三个透明性。

⑴ 网络透明性:能支持所有类型的网络。

⑵ 服务器透明性:不管服务器上的DBMS是何种型号(ORACLE、SYBASE、DB2等),一

个好的访问接口都能通过标准的SQL语言与不同DBMS上的SQL语言连接起来。

⑶ 语言透明性:客户机可用任何开发语言进行发送请求和接受回答,被调用的功能应

该像语言那样也是独立的。

应用系统访问数据库的接口方式有多种,本节介绍固有调用、ODBC和JDBC。

7.1.1 固有调用

每个数据库引擎都带有自己的包含用于访问数据库的APl函数的动态链接库DLL,应用

程序可利用它存取和操纵数据库中的数据。如果应用程序直接调用这些动态链接库,就说它

执行的是“固有调用”,因为该调用对于特定的数据库产品来说是“固有” (专用)的。

固有调用接口的优点是执行效率高,由于是“固有”,编程实现较简单。但它的缺点也

是很严重的:不具通用性。对于不同的数据库引擎,应用程序必须连接和调用不同的专用的

动态链接库,这对于网络数据库系统的应用是极不方便的。

7.1.2 ODBC

ODBC是“开放数据库互连”(Open Database Connectivity)的简称。ODBC是Microsoft

公司提出的、当前被业界广泛接受的应用程序通用编程接口(API)标准,它以X/Open和

ISO/IEC的调用级接口(CLI)规范为基础,用于对数据库的访问。我们可以用如下图示来说

明ODBC概念。

应用程序应用程序

……

应用程序

公共接口API

图7-1 ODBC概念图

ODBC实际上是一个数据库访问函数库,使应用程序可以直接操纵数据库中的数据。ODBC

是基于SQL语言的,是一种在SQL和应用界面之间的标准接口,它解决了嵌入式SQL接口非

规范核心,免除了应用软件随数据库的改变而改变的麻烦。ODBC的一个最显著的优点是,

用它生成的程序是与数据库或数据库引擎无关的,为数据库用户和开发人员屏蔽了异构环境

的复杂性,提供了数据库访问的统一接口,为应用程序实现与平台的无关性和可移植性提供

了基础,因而ODBC获得了广泛的支持和应用。

1. ODBC结构

ODBC结构由四个主要成分构成:应用程序、驱动程序管理器、驱动程序、数据源。其

构成及体系结构说明如下:

⑴ 应用程序 执行处理并调用ODBC API函数,以提交 SQL语句并检索结果。

⑵ 驱动程序管理器(Driver Manager) 根据应用程序需要加载/卸载驱动程序,处理

ODBC函数调用,或把它们传送到驱动程序。

⑶ 驱动程序 处理ODBC函数调用,提交SQL请求到一个指定的数据源,并把结果

返回到应用程序。如果有必要,驱动程序修改一个应用程序请求,以使请求与相关的DBMS

支持的语法一致。

⑷ 数据源 包括用户要访问的数据及其相关的操作系统、DBMS及用于访问DBMS的

网络平台。

其体系结构图如下:

ODBC数据库应用程序

驱动程序管理器

OracleFoxproSybaseDB2

SQL Server

驱动程序驱动程序驱动程序驱动程序驱动程序

SQL ServerOracleFoxproSybaseDB2

数据源数据源数据源数据源数据源

DBDBDBDBDB


发布者:admin,转转请注明出处:http://www.yc00.com/news/1717628612a2741209.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信