数据库访问接口.ppt
《数据库访问接口.ppt》由会员分享,可在线阅读,更多相关《数据库访问接口.ppt(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与D
6、AO对象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是本机Access数
10、据库数据源首选的访问接口,但在客户/服务器体系结构上不如ODBC功能强大。,5.2.2 ODBC的使用,1.ODBC的组成和结构2.ODBC的基本工作流程3.使用ODBC MFC类4.ODBC数据源的管理,1.ODBC的组成和结构,一个完整的ODBC由四个部分组成:应用程序接口、驱动程序管理器、数据库驱动程序和数据源。,ODBC组件图,(1)应用程序接口负责处理并调用ODBC函数、发送对数据库的SQL请求及取得结果。它并不直接与数据库打交道,因此,屏蔽了不同ODBC数据库驱动器之间函数调用的差异,屏蔽了底层数据库系统的不同。为用户提供统一的SQL编程接口和调用级界面,方便访问来自多种DBMS的
11、数据。(2)驱动程序管理器驱动程序管理器是一个带有输入程序的动态链接库(DLL),主要目的是为应用程序装载数据库驱动程序处理0DBC调用的初始化调用,提供0DBC调用的参数有效性和序列有效性。,(3)数据库驱动程序数据库驱动程序是一个完成ODBC函数调用并与数据之间相互影响的DLL。如,当应用程序调用SQLBrowseConnect(),SQLConnect()或SQLDriverConnect()函数时,驱动程序管理器装入驱动程序。如果需要,数据库驱动程序将会修改应用程序的请求,使得请求符合相关的DBMS所支持的文法。所以,ODBC驱动管理器的目的是加载数据库驱动器,便于ODBC函数调用。(
12、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和操作系统的,而且它与编程语言无关。不过直接使用ODBC API比
15、较麻烦,所以微软后来又发展出来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通过驱动程序建立一个数据源的连接使
17、用CDatabase:Close关闭与数据源的连接使用CRecordSet:Open()和Requery()成员函数可以实现记录查询,CDatabase类的成员,CRecordset的类成员,4.ODBC数据源的管理,在0DBC中,应用程序不能直接存取数据库,它必须通过管理器和数据库交换信息。0DBC管理器负责安装驱动程序,将应用程序的SQL语句及其他信息传遗给驱动程序,并帮助程序员跟踪0DBC的函数调用,而驱动程序则负责将运行结果送回应用程序。数据源负责将运行结果送回应用程序。数据源在使用之前必须进行创建和配置。完成这些步骤后,应用程序就能够通过数据源直接操纵数据库。用户可通过如下两种方式创
18、建或配置数据源:系统函数调用ODBC数据源管理程序,下面首先介绍0DBC管理器中各个页面的用途:用户DSN。0DBC用户数据源存储了如何与指定数据库提供者连接的信息,用户数据源只对当前用户可见,且只能用于当前机器。这里的当前机器是指这个配置只对当前的机器有效,而不是指只能配置本机上的数据库。它可以配置局域网中另一台机器上的数据库。系统DSN。0DBC系统数据源存储了如何指定数据库提供者连接的信息。系统数据源对当前机器上的所有用户都是可见的,包括NT服务。也就是说在这里配置的数据源,只要是这台机器的用户都可以访问。文件DSN。0DBC文件数据源允许用户连接数据提供者。文件DSN可以由安装了相同驱
19、动程序的用户共享。这是介于用户DSN和系统DSN之间的一种共享情况,驱动程序。这页列出了本机上所有安装的数据库驱动程序,其中列举了每个驱动程序的名称、版本提供商公司、驱动程序文件名,以及安装日期。跟踪。0DBC跟踪允许创建调用ODBC的日志,提供给技术人员查看。页面中可设定日志的路径和文件名。技术人员可通过这里面的信息看到本机上所有的数据库访问的时间、用户、出错信息等情况;也可以通过这个辅助调试应用程序启动Visual Studio的分析器来进行ODBC的跟踪。连接池。连接池允许应用程序重用原来打开的连接。这样可以节省连接到服务器的往返过程。关于。列出所有的ODBC的核心文件。,配置一个Acc
20、ess数据源的过程如下:在Windows系统下进入控制面板,打开ODBC数据源,若是Windows 2000平台,则打开管理程序下的数据源ODBC,屏幕上将出现如图所示的“ODBC数据源管理器”对话框,选择所使用的数据库驱动程序,如选择Microsoft Access Driver(*.mdb),单击“完成”按钮,出现如图所示的对话框,选择“系统DSN”标签,即选择“系统数据源”。要使系统上的所有应用程序都可以使用它,必须选用系统DSN,这是建立Web站点的需要。单击“添加”按钮,进入“创建新数据源”对话框,如图所示,在“数据源名”输入框中键入数据源名,单击“选择”按钮为该数据源指定一个已创建
21、好的Access数据库(*.mdb),该数据库应该是在Web应用程序中即将访问的数据库。单击“确定”按钮,回到“创建新数据源”对话框。单击“确定”按钮直到关闭ODBC数据管理器,此时完成一个数据源的建立过程。若要修改该数据源的配置,可在“ODBC数据源管理器”对话框中选定要更改的数据源,再单击“配置”按钮。,ODBC并不完美,他虽然统一了对多种常用DBMS的访问,但是这个“访问”的过程是非常困难的,他仍然存在大量的低级调用,程序员必须将大量的精力放在底层的数据通信中,而不能专注于所要处理的数据。为了改善这种极其不友好的接口,使得在程序开发中,数据库访问的工作更加容易,微软提出里一个解决方案:D
22、AO,5.2.3 DAO的使用,DAO是Microsoft的一种用来访问Jet引擎的方法。主要适用于单系统应用程序或在小范围本地分布中实现对桌面数据库(如Access、FoxPro、dBase等)的访问。Microsoft Jet数据库引擎是一种数据管理组件,许多数据库工具都是基于它实现的,例如Microsoft Access,Microsoft Visual Basic以及一些Microsoft桌面数据库驱动程序。,DAO结构图,DAO是完全面向对象的,对开发人员来说,只需了解DAO的使用,而由数据库引擎把DAO上的操作转换为对具体的数据库文件的操作。DAO对象模型是一个分层的树形结构。该结
23、构由对象和集合构成。其中最重要,使用最频繁的是RecordSet对象。,DAO对象层次图,VC+在4.0版本之后增加了DAO的封装,即MFC的DAO类,使得数据库开发人员可以通过Microsoft Jet数据库引擎访问数据库。MFC DAO类与DAO对象之间的对应关系,MFC ODBC和MFC DAO的区别:MFC DAO类使用Microsoft Jet数据库引擎操作位于系统数据库和用户数据库中的数据,它与基于ODBC的MFC数据库类截然不同,DAO通过Microsoft Jet访问数据,而MFC的ODBC类通过ODBC和ODBC驱动程序操作数据。一般来说,在访问Microsoft Jet数据
24、库引擎,基于DAO的MFC类比基于ODBC的MFC类处理能力更强大。,第五章 数据库访问接口,5.1 概述5.2 ODBC与DAO对象5.3 JDBC原理与应用5.4 OLE DB和ADO5.5 数据库中间件,5.3 JDBC原理与应用,5.3.1 JDBC概述5.3.2 JDBC的体系结构5.3.3 JDBC的接口5.3.4 JDBC访问数据库的模式5.3.5 JDBC访问数据库的方法,5.3.1 JDBC概述,JDBC技术是JavaSoft公司设计的Java语言的数据库访问API。ODBC主要是对数据库系统的C语言接口最初的Java语言并没有数据库访问能力。JDBC是第一个支持Java语言
25、的标准的数据库API其目的在于使Java程序与数据库服务器的连接更加方便。在功能方面JDBC与ODBC相同,它给程序员提供了统一的数据库访问接口。,与ODBC相似,JDBC提供给程序员的编程接口是由两部分组成:一是面向应用程序的编程接口JDBC API,它是为应用程序员提供的,可以进行数据库连接和调用SOL语句访问支持JDBC的数据库,并得到返回结果;二是供底层开发的驱动程序接口JDBC Driver API,它是各个数据库厂商提供的。值得一提的是,JavaSoft提供了一种特殊的驱动程序,JDBC-ODBC桥,它支持JDBC通过现有的ODBC来访问数据库系统。目前,JDBC已经得到了许多厂商
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 访问 接口
链接地址:https://www.31ppt.com/p-6296625.html