5.第五章 数据库访问接口

上传人:飞*** 文档编号:5398658 上传时间:2017-08-07 格式:PPT 页数:113 大小:581KB
返回 下载 相关 举报
5.第五章 数据库访问接口_第1页
第1页 / 共113页
5.第五章 数据库访问接口_第2页
第2页 / 共113页
5.第五章 数据库访问接口_第3页
第3页 / 共113页
5.第五章 数据库访问接口_第4页
第4页 / 共113页
5.第五章 数据库访问接口_第5页
第5页 / 共113页
点击查看更多>>
资源描述

《5.第五章 数据库访问接口》由会员分享,可在线阅读,更多相关《5.第五章 数据库访问接口(113页珍藏版)》请在金锄头文库上搜索。

1、第五章 数据库访问接口,第五章 数据库访问接口,5.1 概述5.2 ODBC与DAO对象5.3 JDBC原理与应用5.4 OLE DB和ADO5.5 数据库中间件,5.1 概述,DBMS是非常复杂的软件,编写程序通过某种数据库专用接口与其通信是非常复杂的工作,为此,产生了数据库的客户访问技术,即数据库访问技术。开放的数据库访问接口为数据库应用程序开发人员访问与不同的、异构的数据库提供了统一的访问方式,采用这种数据库接口可以通过编写一段代码实现对多种类型数据库的复杂操作。实现了开放数据库的互联,并大大减小了编程的工作量和开发时间。,目前流行的开放数据库访问接口有:ODBCJDBCOLE DB数据

2、库网关(SQL网关)。,(1)ODBC,ODBC是Microsoft公司推出的开放数据库接口标准。ODBC为应用程序和驱动模块提供了一个定义良好的、不依赖于数据库的应用程序接口(API)。并且保持了与SQL标准的一致性。使用API时,ODBC通过一个驱动管理器来判定应用程序要连接的数据库的类型,并载入(或卸载)对应的ODBC驱动。这样,就实现了应用程序和数据库之间的相互独立,简化了从Windows操作系统(以及其他一些操作系统)到数据库的访问。目前,越来越多的第三方厂商在设计应用开发集成环境时,积极采用ODBC技术,使应用开发工具可通过ODBC实现对异构数据库的快捷和方便的访问。,(2)JDB

3、C,JDBC(Java Database Connectivity)是JavaSoft提供的第一个支持lava语言的数据库API它支持基本SQL功能,在不同的数据库功能模块的层次上为Java开发人员提供了一个支持Java开发或支持Java应用程序运行的环境访问各种数据库的统一的用户界面,同时还提供了多样化的数据连接方式。JDBC主要由两层组成:JDBC应用程序接口(JDBC API)和JDBC驱动应用程序接口。JDBC API提供从应用程序到JDBC管理器的通讯,开发者通过API使用标准Java机制访问数据库。数据库供应商提供JDBC驱动接口,也可以通过JDBC-ODBC连接桥使用传统的0DB

4、C连接:,(3)OLE DB,OLE DB定义了一个访问服务器的集合,通过这些服务器可以很容易地连接到任意数目的数据源。这样,开发者就可以把多种不同的数据源作为单一的虚拟数据库来管理。OLE DB允许使用标准的COM接口访问数据。 OLE DB为开发者提供访问关系数据库、文件、扩展表、电子邮件等数据的方法。通过COM接口,开发者可以使用OLE DB方便地集成面向对象的数据库和多维数据库。核心思想是生成独立的OLE DB组件对象,用以调度数据提供者的各种附加特性和功能。这些独立的OLE DB组件叫做“服务提供者”,允许应用程序使用它们实现不同数据联合(同构的或异构的)之间的互联。数据以单一的视图

5、的形式存在,而不管它们的数据模型是关系型的、面向对象的,还是多维的。,(4)数据库网关,数据库网关也叫SQL网关,是一种应用程序接口(API),通过使用同一接口提供对运行在多种平台上的不同数据库的访问。它们类似于实际的数据库中间件产品,为开发者提供访问任意数目数据库的接口。数据库网关把SQL调用解释成为标准PAP(Format and Protocol)格式。PAP格式实现通用的客户机和服务器连接,也就是异构数据库和运行平台的通用连结。数据库网关可以把API调用直接翻译成PAP,把请求传递到目标数据库并翻译,以便目标数据库和平台做出响应。,第五章 数据库访问接口,5.1 概述5.2 ODBC与

6、DAO对象5.3 JDBC原理与应用5.4 OLE DB和ADO5.5 数据库中间件,5.2 ODBC与DAO对象,5.2.1 ODBC和DAO概述5.2.2 ODBC的使用5.2.3 DAO的使用,5.2.1 ODBC和DAO概述,(1)ODBC概述ODBC是80年代末90年代初出现的技术,它为编写关系数据库的客户软件提供了统一的接口。ODBC提供统一的API,可用于处理不同数据库的客户应用程序。使用ODBC API的应用程序可以与任何具有ODBC驱动程序的关系数据库进行通信。由于ODBC为关系数据库提供了统一的接口,现在已经被广泛应用,并逐渐成为关系数据库接口的标准。,它建立了一组规范,并

7、提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。ODBC的最大优点是能以统一的方式处理所有的关系数据库。但是,ODBC仅限于关系数据库,由于ODBC的关系型特性,很难使用ODBC与非关系数据源进行通信,例如对象数据库、网络目录服务、电子邮件存储等。,(2)DAO概述DAO(Database Access Object,数据访问对象)属于数据访问客户端。是第一个面向对象的数据库访问接口。 DAO是Microsoft一种用来访问Jet引擎的方法,主要适用于单系统应用程序或在

8、小范围本地分布中实现对桌面数据库(如Access、FoxPro、dBase等)的访问。使用DA0的程序编码非常简单。它提供了完成关系数据库系统管理所需的全部操作的属性和方法:包括创建数据库,定义表、字段和索引,以及建立表间的关系,定位和查询数据库等工具。,Jet(Joint Engine Technology,数据连接引擎技术)是一种基于工作站,通过DA0访问数据库的机制。Jet机制有自己的查询和结果集处理功能,并可对同构或异构数据源作查询处理。Jet技术目前已经达到了4.0版本,它是DA0,Access,VB等Windows应用进行数据库访问的基础。引擎本身的数据库格式为MDB,也支持对目前

9、流行的绝大多数数据库格式的访问,当然MDB是数据库引擎中效率最高的数据库。,(3)ODBC与DA0的区别ODBC和DA0的区别在于它们访问数据库的机制不同。0DBC的工作依赖于数据库制造商提供的驱动程序,使用ODBC API的时候,Windous的ODBC管理程序把数据库访问的请求传递给正确的驱动程序,驱动程序再使用SQL语句指示DBMS完成数据库访问工作。而DA0则可以绕开了中间环节,直接使用Microsoft提供的数据库连接性引擎技术(Jet)对数据库访问对象集进行工作,速度比0DBC快。ODBC是一种通用数据访问模型,而DAO更多的是作为一种数据访问客户端。一般来说DA0是本机Acces

10、s数据库数据源首选的访问接口,但在客户/服务器体系结构上不如ODBC功能强大。,5.2.2 ODBC的使用,1. ODBC的组成和结构2. ODBC的基本工作流程3. 使用ODBC MFC类4. ODBC数据源的管理,1. ODBC的组成和结构,一个完整的ODBC由四个部分组成:应用程序接口、驱动程序管理器、数据库驱动程序和数据源。,ODBC组件图,(1)应用程序接口负责处理并调用ODBC函数、发送对数据库的SQL请求及取得结果。它并不直接与数据库打交道,因此,屏蔽了不同ODBC数据库驱动器之间函数调用的差异,屏蔽了底层数据库系统的不同。为用户提供统一的SQL编程接口和调用级界面,方便访问来自

11、多种DBMS的数据。(2)驱动程序管理器驱动程序管理器是一个带有输入程序的动态链接库(DLL),主要目的是为应用程序装载数据库驱动程序处理0DBC调用的初始化调用,提供0DBC调用的参数有效性和序列有效性。,(3)数据库驱动程序数据库驱动程序是一个完成ODBC函数调用并与数据之间相互影响的DLL。如,当应用程序调用SQLBrowseConnect(),SQLConnect()或SQLDriverConnect()函数时,驱动程序管理器装入驱动程序。如果需要,数据库驱动程序将会修改应用程序的请求,使得请求符合相关的DBMS所支持的文法。所以,ODBC驱动管理器的目的是加载数据库驱动器,便于ODB

12、C函数调用。(4)数据源数据源由用户想要存取的数据以及与它相关的操作系统、DBMS和用于访问DBMS的网络平台组成。数据源负责为应用程序存储和管理数据。它包含了数据库位置和数据库类型等信息,实际上是一种数据连接的抽象。,ODBC实际上是一种相当底层的访问技术,因此它可以从底层设置和控制数据库,完成一些高级数据库技术无法完成的功能。,2. ODBC的基本工作流程,当应用程序要访问一个数据库时:首先必须注册一个数据源,ODBC管理器根据数据源提供的信息建立起ODBC与具体数据库的联系。这样,应用程序只需要将数据源名提供给ODBC,就能建立起与相应数据库的连接。ODBC API不能直接访问数据库。驱

13、动程序管理器负责将应用程序对ODBC API的调用传递给正确的驱动程序。而驱动程序在执行完相应的操作之后,将结果通过驱动程序管理器返回给应用程序。在访问ODBC数据源时,需要ODBC驱动程序的支持。,一个ODBC应用的建立应涵盖以下主要内容:建立需要操作数据库的应用程序,该程序通过调用ODBC函数提交SQL语句提供运行环境,该环境应包含数据库驱动程序,它负责处理ODBC函数调用,向数据源提交SQL请求,向应用程序返回结果,必要时将SQL语法翻译成符合DBMS语法规定的格式具有由用户数据库、DBMS等构成的可供应用程序访问的数据源,具体来说,通过ODBC访问数据库的基本步骤如下:创立并配置数据源

14、;建立一个与数据源的对话连接;向数据源发出SQL请求;定义一个缓冲区和数据格式用于存储访问结果;提取结果;处理各种错误;向用户报告结果;关闭与数据源的连接,Microsoft Developer Studio为大多数标准的数据库格式提供了32位ODBC驱动器。这些标准数据格式包括有:SQL Server,Access,Paradox,dBase,FoxPro,Excel,Oracle 以及Microsoft Text。ODBC API是一个内容丰富的数据库编程接口,包括60多个函数、SQL数据类型以及常量的声明。ODBC API 独立于DBMS和操作系统的,而且它与编程语言无关。不过直接使用O

15、DBC API比较麻烦,所以微软后来又发展出来DAO、更容易开发程序。,3. 使用ODBC MFC类,ODBC为关系数据库提供了统一的接口,但是ODBC API十分复杂。在Visual C+中,MFC(Microsoft Foundation Classe微软基础类库)提供了一些类, 对ODBC API进行封装,为ODBC编程提供了一个面向对象的方法,ODBC编程的复杂度大大降低。MFC ODBC类在使用上比ODBC API容易,但是损失了ODBC API对低层的灵活控制,因此,MFC ODBC类属于高级数据库接口。,同ODBC API编程类似,MFC的ODBC编程也要先建立同ODBC数据源的

16、连接,这个过程由一个CDatabase对象的Open函数实现。然后CDatabase对象的指针将被传递到CRecordSet对象的构造函数里,使CRecordSet对象与当前建立起来的数据源连接结合起来。完成数据源连接之后,大量的数据库编程操作将集中在记录集的操作上。CRecordSet类的丰富的成员函数可以让开发人员轻松地完成基本的数据库应用程序开发任务。当然,完成了所有的操作之后,在应用程序退出运行状态的时候,需要将所有的记录集关闭,并关闭所有同数据源的连接。,MFC对ODBC的封装主要是开发了CDatabase类和CRecordSet类。使用CDatabase:OpenEx通过驱动程序建立一个数据源的连接使用CDatabase:Close关闭与数据源的连接使用CRecordSet:Open()和Requery()成员函数可以实现记录查询,CDatabase类的成员,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号