第5章 开放数据库互连精选PPT.ppt
《第5章 开放数据库互连精选PPT.ppt》由会员分享,可在线阅读,更多相关《第5章 开放数据库互连精选PPT.ppt(128页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第5章 开放数据库互连第1页,本讲稿共128页第五章第五章 开放数据库互连开放数据库互连5.1 开放的数据库访问接口5.2 ODBC与DAO5.3 JDBC原理与应用5.4 OLE DB和ADO概述5.5 数据库中间件第2页,本讲稿共128页5.1 开放的数据库访问接口开放的数据库访问接口 提出开放式数据库访问接口的目的是要为数据库应用程序开发人员访问不同的数据库提供统一的访问方式,实现开放数据库的互联,从而减小编程的工作量和开发时间。目前流行的开放数据库访问接口有ODBC,JDBC,OLE DB和数据库网关。第3页,本讲稿共128页ODBCnODBC是Microsoft推出的一个开放式数据库
2、接口标准。nODBC为应用程序提供了一个定义良好的、不依赖于数据库的应用程序接口(API),并且它的数据库驱动模块保持了与SQL标准的一致性。n使用API时,ODBC通过一个驱动管理器驱动管理器来判定应用程 序要连接的数据库的类型,并载入(或卸载)适当的 ODBC驱动驱动,这样就实现了应用程序和数据库之间的 相互独立,简化了从操作系统到数据库的访问。第4页,本讲稿共128页n现有的ODBC是32位版本的,且是免费的。大多数的数据库都有ODBC驱动,这些ODBC驱动是由数据库供应商或第三方提供商提供的。n目前,越来越多的第三方厂商在设计应用开发集成环境时,积极采用ODBC技术,使应用开发工具可通
3、过ODBC实现对异构数据库的快捷和方便访问。第5页,本讲稿共128页JDBCnJDBC(Java DataBase Connectivity)是JavaSoft公司公司提供的第第一个支持一个支持Java语言的数据库语言的数据库API。n它支持基本SQL功能,在不同的数据库功能模块的层次上为开发人员提供了一个进行Java应用程序开发时访问各种数据库的统一的用户界面,同时还提供了多样化的数据连接方式。nJava开发人员只需面对简单的数据库界面进行操作,使得独立于DBMS的Java应用程序的开发工具和产品成为可能。第6页,本讲稿共128页nJDBC主要由两层组成:JDBC应用程序接口应用程序接口(J
4、DBC API)和JDBC驱动程序接口驱动程序接口。nJDBC API提供从应用程序到JDBC管理器的通讯,开发者通过API使用标准Java机制访问数据库。n数据库供应商提供JDBC驱动接口,也可以通过JDBC-ODBC连接桥使用传统的ODBC连接。第7页,本讲稿共128页OLE DBnOLE DB是基于基于COM接口接口的数据库开发技术,解决了Windows环境下不同对象之间的集成问题,能访问各种DBMS和非DBMS数据源。nOLE DB定义了一种能进行组件式数据库访问的组件能进行组件式数据库访问的组件,它通过把数据库的功能分为数据使用者数据使用者和数据提供者数据提供者两个方面。n数据使用者
5、并非直接对数据源发出指令,而是通过OLE接口与数据提供者进行交互,数据提供者从数据源取得所要的数据后以表格的形式提交给接口,再由数据使用者从接口中取出并使用。第8页,本讲稿共128页数据库网关数据库网关n也叫SQL网关网关,是一种应用程序接口,通过使用同一接口提供对运行在多种平台上的不同数据库的访问。n数据库网关为开发者提供访问任意数据库的接口,包括一些运行在典型的不易访问的环境下的数据库。n例如:通过一个ODBC接口和一个数据库网关,可以同时访问存储在大型主机环境下的DB2数据库、小型机上的Oracle数据库和Unix服务器上的Sybase数据库。第9页,本讲稿共128页第五章第五章 开放数
6、据库互连开放数据库互连5.1 开放的数据库访问接口5.2 ODBC与DAO5.3 JDBC原理与应用5.4 OLE DB和ADO概述5.5 数据库中间件第10页,本讲稿共128页5.2 ODBC与与DAO5.2.1 ODBC和DAO的概述5.2.2 ODBC的组成结构5.2.3 ODBC的基本工作流程5.2.4 使用ODBC API建立应用程序5.2.5 ODBC数据源的管理5.2.6 用DAO实现访问数据库第11页,本讲稿共128页5.2.1 ODBC概述概述nODBC通过定义标准接口(ODBC API)来允许使用不同技术、并通过特定通信方法访问特定数据源。nODBC建立了一组规范一组规范,
7、为应用程序提供了一种满足各自需要的API方法,并且它的驱动模块保持了与SQL标准的一致性。n一个基于ODBC的应用程序对数据库的操作不依赖于任何DBMS,不直接与DBMS打交道,所有的数据库操作由相应数据库产品的ODBC驱动程序完成。第12页,本讲稿共128页nODBC允许应用程序访问它支持的不同数据源,实现数据源驱动的是ODBC函数调用的动态链接库函数调用的动态链接库。n在数据源和ODBC API之间起联系作用的是为不同数据库专门开发的ODBC驱动程序驱动程序。nODBC驱动程序的主要作用驱动程序的主要作用包括:连结数据库管理,错误处理管理,数据类型转换,对各种DBMS以不同方式提供的表、列
8、及其他对象进行访问管理。第13页,本讲稿共128页5.2.1 DAO概述概述nDAO(Database Access Object,数据库访问对象)是是一组对象类的集合。它提供了管理一个关系数据库系统所需的全部操作的属性和方法。其中包括创建数据库,定义表、字段和索引,定位和查询数据库等。nDAO 使用使用 Microsoft Jet 数据库引擎数据库引擎提供一组数据访问对象:数据库对象、tabledef 和 querydef 对象、记录集对象以及其他对象。nDAO 与.Mdb 文件(如 Microsoft Access 创建的.Mdb 文件)一起使用效果最佳,但是也可以通过 DAO 和 Mic
9、rosoft Jet 数据库引擎访问 ODBC 数据源。第14页,本讲稿共128页5.2.1 ODBC与与DAO的区别的区别n在ADO技术没有出现以前,Windows环境下进行数据库访问工作一般有两种选择:使用DAO技术或者使用ODBC技术。nODBC作为Windows开放标准结构的一个重要部分已经为很多Windows程序员所熟悉,而DAO是Windows API的一个部分,可以独立于DBMS进行数据库访问。nODBC访问数据库的机制与访问数据库的机制与DAO完全不同:完全不同:第15页,本讲稿共128页 ODBC的工作依赖于数据库制造商提供的驱动程序,使用ODBC API时,Windows的
10、ODBC管理程序把数据库访问的请求传递给正确的驱动程序,驱动程序再使用SQL语句指示DBMS完成数据库访问工作。而DAO直接使用Microsoft提供的数据库连接性引擎技术(Jet)对数据库访问对象集进行工作,速度比ODBC快。第16页,本讲稿共128页5.2 ODBC与与DAO5.2.1 ODBC和DAO的概述5.2.2 ODBC的组成结构5.2.3 ODBC的基本工作流程5.2.4 使用ODBC API建立应用程序5.2.5 ODBC数据源的管理5.2.6 用DAO实现访问数据库第17页,本讲稿共128页5.2.2 ODBC的组成结构的组成结构应用程序(Application)ODBC应用
11、程序接口(ODBC API)ODBC驱动程序管理器(ODBC Driver Manager)驱动程序(Driver1)驱动程序(Driver2)驱动程序(Driver3)数据源Data Source1数据源Data Source2数据源Data Source3图5.1 ODBC的组成结构第18页,本讲稿共128页n应用程序应用程序(Application)应用程序主要负责处理并调用ODBC函数,发送对数据库的SQL请求及取得结果。n应用程序接口应用程序接口(ODBC API)ODBC API是ODBC运用数据通信、数据传输协议、DBMS等多种技术协同完成的标准接口。应用程序通过ODBC API
12、与数据源进行数据交换,因此应用程序接口屏蔽了不同的ODBC数据库驱动器之间函数调用的差别,屏蔽了底层数据库系统的不同,为用户提供统一的SQL编程接口和调用级界面。第19页,本讲稿共128页n驱动程序管理器驱动程序管理器(ODBC Driver Manager)驱动程序管理器的功能在于管理多个应用程序和多个驱动程序,它是一个带有输入程序的动态链接库动态链接库(DLL),可以链接到所有的ODBC应用程序中。主要目的主要目的是为应用程序装载数据库驱动程序,处理ODBC调用的初始化调用,提供ODBC调用的参数有效性和序列有效性。第20页,本讲稿共128页n数据库驱动程序数据库驱动程序(ODBC Dri
13、ver)ODBC驱动程序的功能在于处理ODBC调用,向数据库源提交SQL请求,并将SQL语句翻译成相应的DBMS规定形式,负责与任何访问数据源的软件交互。数据库驱动是ODBC的核心,ODBC通过使用驱动来保持数据库的独立性。各主要数据库厂商都提供了支持自己的数据库的ODBC驱动程序。第21页,本讲稿共128页n数据源数据源(Data Source)数据源由用户想要存取的数据、与它相关的DBMS、操作系统平台和用于访问DBMS的网络平台组成。它负责为应用程序存储和管理数据。数据源包含了数据库位置和数据库类型等信息,实际上是一种数据连接的抽象。第22页,本讲稿共128页5.2 ODBC与与DAO5
14、.2.1 ODBC和DAO的概述5.2.2 ODBC的组成结构5.2.3 ODBC的基本工作流程5.2.4 使用ODBC API建立应用程序5.2.5 ODBC数据源的管理5.2.6 用DAO实现访问数据库第23页,本讲稿共128页5.2.3 ODBC的基本工作流程的基本工作流程数据源名(DSN)应用程序ODBC管理器ODBC API驱动程序管理器ODBC驱动程序数据源应用层ODBC数据层图5.2 ODBC的基本工作流程第24页,本讲稿共128页5.2 ODBC与与DAO5.2.1 ODBC和DAO的概述5.2.2 ODBC的组成结构5.2.3 ODBC的基本工作流程5.2.4 使用ODBC
15、API建立应用程序5.2.5 ODBC数据源的管理5.2.6 用DAO实现访问数据库第25页,本讲稿共128页5.2.4 使用使用ODBC API建立应用程序建立应用程序nODBC API是由一组函数调用组成,其核心是SQL。nODBC函数的主要功能是将SQL语句发送到目标数据库中,然后处理SQL语句返回的结果。n编写ODBC程序的基本步骤:n为ODBC分配环境句柄n分配一个连接句柄n连接到数据库n分配一个语句句柄n传送SQL命令,完成数据库操作n关闭连接n解除连接和环境句柄第26页,本讲稿共128页SQLAllocHandle(ENV)SQLSetEnvAttrSQLAllocHandle(
16、DBC)SQLConnectSQLSetConnectAttrSQLGetInfoSQLAllocHandle(STMT)SQLSetStmtAttrSQLExecDirect ORSQLPrepareSQLExecuteSelect or Update/Delete.InsertSQL NumResultColsSQL BindCOLSQL FetchSQL GetDataSQL CloseCursorSQL FreeHandle(STMT)SQL DisconnectSQL FreeHandle(DBC)SQL FreeHandle(ENV)ODBC初始化函数使 用 ODBCAPI检索数据
17、执行SQL命令使用结果集释放空间图5.3 ODBC API应用的结构第27页,本讲稿共128页5.2 ODBC与与DAO5.2.1 ODBC和DAO的概述5.2.2 ODBC的组成结构5.2.3 ODBC的基本工作流程5.2.4 使用ODBC API建立应用程序5.2.5 ODBC数据源的管理5.2.6 用DAO实现访问数据库第28页,本讲稿共128页5.2.5 ODBC数据源的管理数据源的管理nODBC数据源管理由ODBC驱动程序管理器完成。驱动程序管理器是一个Windows环境下的应用程序,文件名为ODBC32.EXE,在安装微软的SQL Server、VB等软件时,系统会自动安装ODBC
18、驱动程序管理器。nODBC数据源管理器可以用来显示系统安装SQL Server ODBC驱动程序的版本信息,并可用来添加、更改和删除SQL Server ODBC驱动程序的数据源以及为用户、系统和文件数据源设置选项。第29页,本讲稿共128页5.2.5 添加添加ODBC数据源数据源n数据源在使用之前必须通过ODBC管理器进行登记和连接,启动ODBC管理器后,选取Add按钮,根据自己的数据库类型,选择相应的ODBC驱动程序,然后输入数据源名(data source name)和数据库文件名(database name),完成这些步骤后,应用程序就能够通过ODBC管理器的数据源直接操纵数据库。n下
19、面以Windows2000下的ODBC管理器为例,介绍其中各个页面的用途:第30页,本讲稿共128页n用户DSN:ODBC用户数据源存储了如何与指定数据库提供者连接的信息,用户数据源只对当前用户可见,且只能用于当前机器。n系统DSN:ODBC系统数据源存储了如何指定数据库提供者连接的信息。系统数据源对当前机器上的所有用户都是可见的。也就是说,这里配置的数据源,只要是这台机器的用户都可以访问。n文件DSN:ODBC文件数据源允许用户连接数据提供者,它可以由安装了相同驱动程序的用户共享。第31页,本讲稿共128页n驱动程序:列出了本机上所有安装的数据库驱动程序,包括驱动程序的名称、版本、提供商、驱
20、动程序文件名以及安装日期。n跟踪:ODBC跟踪允许创建调用ODBC的日志,提供给技术人员查看。页面中可以设定日志的路径和文件名。n连接池:允许应用程序重用原来打开的连接句柄,这样可以节省服务器的往返过程。n关于:该页列出了所有的ODBC的核心文件。第32页,本讲稿共128页5.2 ODBC与与DAO5.2.1 ODBC和DAO的概述5.2.2 ODBC的组成结构5.2.3 ODBC的基本工作流程5.2.4 使用ODBC API建立应用程序5.2.5 ODBC数据源的管理5.2.6 用DAO实现访问数据库第33页,本讲稿共128页5.2.6 用用DAO实现访问数据库实现访问数据库nDAO对象模型
21、 DAO是一种完全面向对象的数据库访问接口,对编程人员来说只须了解DAO的使用就可以对几乎任何一种数据库进行操作。它通过数据库引擎技术把数据访问对象上的操作转换为对数据库文件自身的物理操作。DAO对象模型是一个分层的树型结构,该结构由对象和集合构成。在DAO编程中,用对象变量代表对象的引用。第34页,本讲稿共128页图图5.4 DAO对象模型的结构示意图对象模型的结构示意图第35页,本讲稿共128页ReordSet对象的创建步骤:n引用数据库连接引擎:由于DAO使用数据库引擎机制访问数据库,因此首先要将Jet3.5/Jet2.5引入到工程中。n创建RecordSet对象变量n声明一个Recor
22、dset类型的变量n使用Database,Connection,TableDef,QueryDef对象的OpenRecordSet方法方法返回Recordset类型变量的值。nOpenRecordSet方法中type,options,lockedits参数的设置。第36页,本讲稿共128页nRecordSet对象有五种类型:表、动态集、快照、动态和仅向前。ntype=dbopentable:表类型的Recordset对象是指当前数据库中的本地表或Microsoft Jet创建的外部数据库。ntype=dbopenDynaset:动态集类型的RecordSet对象可以是本地的或者链接的表,也可以
23、是返回的行查询结果。它实际上是对一个或多个表中记录的一系列引用ntype=dbopensnapshot:快照类型的ReordSet对象包含的数据是固定的,它反映了在产生快照的一瞬间数据库的状态。与动态集类型和表类型的RecordSet对象相比,快照的处理开销较少,因此,它执行查询和返回数据的速度更快。第37页,本讲稿共128页ntype=dbopenforwardonly:仅向前类型的Recordset对象提供了最基本的RecordSet对象功能,但通常可以达到最快的速度。与快照类似,从Microsoft Jet得到的仅向前类型的Recordset对象是不可更新的。另外,只允许在记录中向前移动
24、,而不能向相反方向移动。这种类型的Recordset对象不能被复制,而且只支持Move和MoveNext方法。ntype=dbopendynamic:动态类型的Recordset对象是从一个或几个基本表中查询到的结果集,对于返回行的查询,可以在其中添加、修改或删除记录。第38页,本讲稿共128页n创建Recordset对象的实例:使用OpenRecordset方法从本地Microsoft Jet数据库中的表创建记录集:Dim dbs As Database,rstCustomers As Recordset Set dbs=OpenDatabase(“Northwind.mdb”)Set rs
25、tCustomers=dbs.OpenRecordset(“Customers”)第39页,本讲稿共128页第五章第五章 开放数据库互连开放数据库互连5.1 开放的数据库访问接口5.2 ODBC与DAO5.3 JDBC原理与应用5.4 OLE DB和ADO概述5.5 数据库中间件第40页,本讲稿共128页5.3 JDBC原理与应用原理与应用5.3.1 JDBC的概述5.3.2 JDBC访问数据库的模式5.3.3 JDBC与ODBC的比较5.3.4 JDBC的体系结构及工作过程5.3.5 JDBC的接口第41页,本讲稿共128页5.3.1 JDBC的概述的概述nJava程序分为:Java App
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第5章 开放数据库互连精选PPT 开放 数据库 互连 精选 PPT
限制150内