数据库基础与应用第09章开放数据库互连.ppt
《数据库基础与应用第09章开放数据库互连.ppt》由会员分享,可在线阅读,更多相关《数据库基础与应用第09章开放数据库互连.ppt(77页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第9章章 开放数据库互连开放数据库互连(ODBC)9.1 数据库互连概述数据库互连概述9.2 ODBC的工作原理概述的工作原理概述9.3 使用使用ODBC的系统结构的系统结构9.4 ODBC驱动程序的分类驱动程序的分类9.5 ODBC的工作流程的工作流程退出退出9.1 数据库互连概述数据库互连概述提提出出和和产产生生ODBC的的根根本本原原因因是是不不同同的数据库管理系统的存在。的数据库管理系统的存在。目目前前,广广泛泛使使用用的的关关系系数数据据库库管管理理系系统统(RDBMS)有有几几十十种种,最最常常用用的的也也有有十几种。十几种。它们之间有许多差异。例如:它们之间有许多差异。例如:它
2、们之间有许多差异。例如:它们之间有许多差异。例如:支支支支持持持持和和和和实实实实现现现现SQLSQL语语语语句句句句的的的的程程程程度度度度不不不不同同同同(有有有有的的的的支支支支持持持持SQL89SQL89的的的的基基基基本本本本集集集集,有有有有的的的的支支支支持持持持SQL92SQL92的的的的基基基基本集);本集);本集);本集);SQLSQL语语语语句句句句实实实实现现现现的的的的策策策策略略略略和和和和细细细细节节节节有有有有许许许许多多多多不不不不同;同;同;同;支持的数据类型和精度常常不同;支持的数据类型和精度常常不同;支持的数据类型和精度常常不同;支持的数据类型和精度常常
3、不同;提供的应用编程接口(提供的应用编程接口(提供的应用编程接口(提供的应用编程接口(Application Application Programming InterfaceProgramming Interface,简记为,简记为,简记为,简记为APIAPI)不同;)不同;)不同;)不同;嵌入式嵌入式嵌入式嵌入式SQLSQL语言语法细节不同;语言语法细节不同;语言语法细节不同;语言语法细节不同;存储过程不同。存储过程不同。存储过程不同。存储过程不同。因此,在某个因此,在某个因此,在某个因此,在某个RDBMSRDBMS下开发的应用系统下开发的应用系统下开发的应用系统下开发的应用系统就不能在另
4、一个就不能在另一个就不能在另一个就不能在另一个RDBMSRDBMS下运行。下运行。下运行。下运行。使使使使数数数数据据据据库库库库系系系系统统统统“开开开开放放放放”,能能能能够够够够彼彼彼彼此此此此相相相相互互互互通通通通信信信信、相相相相互互互互操操操操作作作作、相相相相互互互互访访访访问问问问,简简简简言言言言之之之之能能能能够够够够“数数数数据据据据库库库库 互互互互 连连连连”。其其其其 中中中中 开开开开 放放放放 数数数数 据据据据 库库库库 互互互互 连连连连(Open Open DataBase DataBase ConnectingConnecting,简简简简记记记记为为
5、为为ODBCODBC),是是是是MicrosoftMicrosoft公公公公司司司司推推推推出出出出的的的的产产产产品品品品。由由由由于于于于MicrosoftMicrosoft公公公公司司司司的的的的地地地地位位位位,ODBCODBC成成成成为为为为数数数数据据据据库库库库之之之之间间间间互互互互连连连连的的的的事事事事实实实实标标标标准。准。准。准。9.2 ODBC的工作原理概述的工作原理概述开开开开 放放放放 数数数数 据据据据 库库库库 互互互互 连连连连(ODBCODBC)接接接接 口口口口 是是是是MicrosoftMicrosoft公公公公司司司司开开开开放放放放的的的的服服服服
6、务务务务结结结结构构构构(WOSAWOSA)中中中中有有有有关关关关数数数数据据据据库库库库的的的的一一一一个个个个组组组组成成成成部部部部分分分分,用用用用于于于于访访访访问问问问数数数数据据据据库库库库的的的的标标标标准准准准调调调调用用用用接接接接口口口口。使使使使用用用用ODBCODBC接接接接口口口口的的的的应应应应用用用用程程程程序序序序可可可可以以以以访访访访问问问问多多多多种种种种不不不不同同同同的的的的数数数数据据据据库库库库系系系系统统统统,同同同同时时时时应应应应用用用用程程程程序序序序对对对对数数数数据据据据库库库库的的的的操操操操作作作作不不不不依依依依赖赖赖赖于于于
7、于任任任任何何何何数数数数据据据据库库库库管管管管理理理理系系系系统统统统,实现应用程序对不同实现应用程序对不同实现应用程序对不同实现应用程序对不同DBMSDBMS资源的共享。资源的共享。资源的共享。资源的共享。为了使一个应用程序能访问不同的数据库为了使一个应用程序能访问不同的数据库为了使一个应用程序能访问不同的数据库为了使一个应用程序能访问不同的数据库系统,人们设想如果应用程序使用标准的数据系统,人们设想如果应用程序使用标准的数据系统,人们设想如果应用程序使用标准的数据系统,人们设想如果应用程序使用标准的数据库调用接口来与数据库互操作,在应用系统和库调用接口来与数据库互操作,在应用系统和库调
8、用接口来与数据库互操作,在应用系统和库调用接口来与数据库互操作,在应用系统和不同的不同的不同的不同的RDBMSRDBMS之间加一层中间件之间加一层中间件之间加一层中间件之间加一层中间件数据库数据库数据库数据库调用转换接口,由该中间件把应用系统中对数调用转换接口,由该中间件把应用系统中对数调用转换接口,由该中间件把应用系统中对数调用转换接口,由该中间件把应用系统中对数据库的标准调用转换成对某一个特定的据库的标准调用转换成对某一个特定的据库的标准调用转换成对某一个特定的据库的标准调用转换成对某一个特定的RDBMSRDBMS的调用,如图的调用,如图的调用,如图的调用,如图9.19.1所示。这样,应用
9、程所示。这样,应用程所示。这样,应用程所示。这样,应用程序与具体的序与具体的序与具体的序与具体的RDBMSRDBMS平台相隔离,当应用程序平台相隔离,当应用程序平台相隔离,当应用程序平台相隔离,当应用程序连接的连接的连接的连接的RDBMSRDBMS平台改变时不必改写应用程序,平台改变时不必改写应用程序,平台改变时不必改写应用程序,平台改变时不必改写应用程序,提高了应用系统与提高了应用系统与提高了应用系统与提高了应用系统与RDBMSRDBMS的独立性,从而使的独立性,从而使的独立性,从而使的独立性,从而使应用系统具有良好的可移植性。这就是应用系统具有良好的可移植性。这就是应用系统具有良好的可移植
10、性。这就是应用系统具有良好的可移植性。这就是ODBCODBC的基本思想。的基本思想。的基本思想。的基本思想。ODBCODBC提供了一套数据库应用程序接口规提供了一套数据库应用程序接口规提供了一套数据库应用程序接口规提供了一套数据库应用程序接口规范。这套规范包括:为应用程序提供的一套调范。这套规范包括:为应用程序提供的一套调范。这套规范包括:为应用程序提供的一套调范。这套规范包括:为应用程序提供的一套调用层接口函数(用层接口函数(用层接口函数(用层接口函数(Call-Level InterfaceCall-Level Interface,简写为,简写为,简写为,简写为CLICLI)和基于动态连接
11、库的运行支持环境。)和基于动态连接库的运行支持环境。)和基于动态连接库的运行支持环境。)和基于动态连接库的运行支持环境。图图图图9.19.1中数据库调用转换接口则由中数据库调用转换接口则由中数据库调用转换接口则由中数据库调用转换接口则由ODBCODBC驱驱驱驱动程序管理器(动程序管理器(动程序管理器(动程序管理器(ODBC Driver ManagerODBC Driver Manager)和一)和一)和一)和一组组组组RDBMSRDBMS驱动程序(驱动程序(驱动程序(驱动程序(ODBC DriverODBC Driver)构成,)构成,)构成,)构成,如图如图如图如图9.29.2所示。所示。
12、所示。所示。ODBCODBC通过使用驱动程序通过使用驱动程序通过使用驱动程序通过使用驱动程序(driverdriver)来提供数据库独立性,进行数据库)来提供数据库独立性,进行数据库)来提供数据库独立性,进行数据库)来提供数据库独立性,进行数据库操作的数据源对应用程序是透明的,所有的数操作的数据源对应用程序是透明的,所有的数操作的数据源对应用程序是透明的,所有的数操作的数据源对应用程序是透明的,所有的数据库操作由对应的据库操作由对应的据库操作由对应的据库操作由对应的DBMS DBMS 的的的的ODBC DriverODBC Driver完成。完成。完成。完成。驱动程序是一个用以支持驱动程序是一
13、个用以支持驱动程序是一个用以支持驱动程序是一个用以支持ODBCODBC函数调用函数调用函数调用函数调用的模块(通常是一个的模块(通常是一个的模块(通常是一个的模块(通常是一个DLLDLL)。)。)。)。ODBCODBC的另一个组件是驱动程序管理器的另一个组件是驱动程序管理器的另一个组件是驱动程序管理器的另一个组件是驱动程序管理器(driver managerdriver manager)。驱动程序管理器由)。驱动程序管理器由)。驱动程序管理器由)。驱动程序管理器由MicrosoftMicrosoft公司提供。驱动程序管理器包含在公司提供。驱动程序管理器包含在公司提供。驱动程序管理器包含在公司提
14、供。驱动程序管理器包含在ODBC.DLLODBC.DLL(或在(或在(或在(或在3232位版的位版的位版的位版的ODBCODBC的的的的ODBC32.DLLODBC32.DLL中),可链接到所有中),可链接到所有中),可链接到所有中),可链接到所有ODBCODBC应用应用应用应用程序中。程序中。程序中。程序中。9.3 使用使用ODBC的系统结构的系统结构使使使使用用用用ODBCODBC开开开开发发发发应应应应用用用用系系系系统统统统时时时时,系系系系统统统统的的的的体体体体系系系系结构如图结构如图结构如图结构如图9.29.2所示,它由四部分构成:所示,它由四部分构成:所示,它由四部分构成:所示
15、,它由四部分构成:(1 1)应用程序。)应用程序。)应用程序。)应用程序。(2 2)驱驱驱驱动动动动程程程程序序序序管管管管理理理理器器器器(ODBC ODBC Driver Driver ManagerManager)。)。)。)。(3 3)数据库驱动程序()数据库驱动程序()数据库驱动程序()数据库驱动程序(ODBC DriverODBC Driver)。)。)。)。(4 4)数数数数据据据据库库库库平平平平台台台台,包包包包括括括括某某某某一一一一个个个个RDBMSRDBMS和和和和数据库。数据库。数据库。数据库。9.3.19.3.1应用程序应用程序应应应应用用用用层层层层的的的的应应应
16、应用用用用程程程程序序序序提提提提供供供供用用用用户户户户界界界界面面面面、应应应应用用用用逻逻逻逻辑辑辑辑和和和和事事事事务务务务逻逻逻逻辑辑辑辑。使使使使用用用用ODBCODBC开开开开发发发发数数数数据据据据库库库库应应应应用用用用程程程程序序序序时时时时,应应应应用用用用程程程程序序序序调调调调用用用用标标标标准准准准的的的的ODBCODBC函函函函数数数数和和和和SQLSQL语语语语句句句句。应应应应用用用用层层层层使使使使用用用用ODBCODBC调调调调用用用用接接接接口口口口与与与与数数数数据据据据库库库库进进进进行行行行交交交交互互互互。使使使使用用用用ODBCODBC的的的的
17、接接接接口口口口规规规规范范范范来来来来编编编编写写写写应应应应用用用用程程程程序时,应用程序应该包括的内容有:序时,应用程序应该包括的内容有:序时,应用程序应该包括的内容有:序时,应用程序应该包括的内容有:(1 1)请求连接数据库。)请求连接数据库。)请求连接数据库。)请求连接数据库。(2 2)向数据源发送)向数据源发送)向数据源发送)向数据源发送SQLSQL语句。语句。语句。语句。(3 3)为)为)为)为SQLSQL语句执行结果分配存储空间,语句执行结果分配存储空间,语句执行结果分配存储空间,语句执行结果分配存储空间,定义所读取的数据格式。定义所读取的数据格式。定义所读取的数据格式。定义所
18、读取的数据格式。(4 4)获取数据库操作结果;或处理错误。)获取数据库操作结果;或处理错误。)获取数据库操作结果;或处理错误。)获取数据库操作结果;或处理错误。(5 5)进行数据处理并向用户提交处理结)进行数据处理并向用户提交处理结)进行数据处理并向用户提交处理结)进行数据处理并向用户提交处理结果。果。果。果。(6 6)请求事务的提交和回滚操作。)请求事务的提交和回滚操作。)请求事务的提交和回滚操作。)请求事务的提交和回滚操作。(7 7)断开与数据源的连接。)断开与数据源的连接。)断开与数据源的连接。)断开与数据源的连接。下面将使用下面将使用下面将使用下面将使用ODBCODBC开发应用系统的应
19、用程开发应用系统的应用程开发应用系统的应用程开发应用系统的应用程序简称为序简称为序简称为序简称为ODBCODBC应用程序。应用程序。应用程序。应用程序。9.3.29.3.2驱动程序管理器驱动程序管理器驱动程序管理器是驱动程序管理器是驱动程序管理器是驱动程序管理器是MicrosoftMicrosoft公司公司公司公司ODBCODBC的的的的一部分。顾名思义,驱动程序管理器是用来管一部分。顾名思义,驱动程序管理器是用来管一部分。顾名思义,驱动程序管理器是用来管一部分。顾名思义,驱动程序管理器是用来管理系统中存在的各种驱动程序的。驱动程序管理系统中存在的各种驱动程序的。驱动程序管理系统中存在的各种驱
20、动程序的。驱动程序管理系统中存在的各种驱动程序的。驱动程序管理器的主要功能包括装载理器的主要功能包括装载理器的主要功能包括装载理器的主要功能包括装载ODBCODBC驱动程序、选驱动程序、选驱动程序、选驱动程序、选择和连接正确的驱动程序、管理数据源、检查择和连接正确的驱动程序、管理数据源、检查择和连接正确的驱动程序、管理数据源、检查择和连接正确的驱动程序、管理数据源、检查ODBCODBC调用参数的合法性和记录调用参数的合法性和记录调用参数的合法性和记录调用参数的合法性和记录ODBCODBC函数的函数的函数的函数的调用等,以及当应用层需要时提供驱动程序信调用等,以及当应用层需要时提供驱动程序信调用
21、等,以及当应用层需要时提供驱动程序信调用等,以及当应用层需要时提供驱动程序信息。息。息。息。9.3.39.3.3数据库驱动程序数据库驱动程序ODBCODBC是是是是通通通通过过过过驱驱驱驱动动动动程程程程序序序序来来来来提提提提供供供供应应应应用用用用系系系系统统统统与与与与数数数数据据据据库库库库平平平平台台台台的的的的独独独独立立立立性性性性的的的的。驱驱驱驱动动动动程程程程序序序序与与与与具具具具体体体体的的的的RDBMSRDBMS有关。有关。有关。有关。驱动程序的功能包括以下几个方面:驱动程序的功能包括以下几个方面:驱动程序的功能包括以下几个方面:驱动程序的功能包括以下几个方面:(1
22、1)建立与相应)建立与相应)建立与相应)建立与相应RDBMSRDBMS的连接。的连接。的连接。的连接。(2 2)向连接的)向连接的)向连接的)向连接的RDBMSRDBMS提交用户的提交用户的提交用户的提交用户的SQLSQL语语语语句。句。句。句。(3 3)根据应用程序的要求,将发送给该)根据应用程序的要求,将发送给该)根据应用程序的要求,将发送给该)根据应用程序的要求,将发送给该RDBMSRDBMS的数据以及从的数据以及从的数据以及从的数据以及从RDBMSRDBMS返回的数据进行返回的数据进行返回的数据进行返回的数据进行数据格式和类型转换。数据格式和类型转换。数据格式和类型转换。数据格式和类型
23、转换。(4 4)向应用程序返回处理结果。)向应用程序返回处理结果。)向应用程序返回处理结果。)向应用程序返回处理结果。(5 5)将执行过程中)将执行过程中)将执行过程中)将执行过程中RDBMSRDBMS返回的错误代返回的错误代返回的错误代返回的错误代码转换为码转换为码转换为码转换为ODBCODBC定义的标准错误代码,返回给定义的标准错误代码,返回给定义的标准错误代码,返回给定义的标准错误代码,返回给应用程序。应用程序。应用程序。应用程序。(6 6)根据需要说明和使用游标。)根据需要说明和使用游标。)根据需要说明和使用游标。)根据需要说明和使用游标。9.3.4ODBC9.3.4ODBC数据源管理
24、数据源管理数数数数 据据据据 源源源源 名名名名(Data Data Source Source NameName,简简简简 称称称称DSNDSN)是是是是应应应应用用用用程程程程序序序序与与与与数数数数据据据据库库库库系系系系统统统统连连连连接接接接的的的的桥桥桥桥梁梁梁梁,它它它它为为为为ODBCODBC驱驱驱驱动动动动程程程程序序序序管管管管理理理理器器器器指指指指出出出出数数数数据据据据库库库库服服服服务务务务器器器器名名名名称称称称,以以以以及及及及用用用用户户户户的的的的默默默默认认认认连连连连接接接接参参参参数数数数等等等等。注注注注意意意意,这这这这里里里里的的的的数数数数据据
25、据据源源源源并并并并不不不不是是是是指指指指某某某某一一一一个个个个数数数数据据据据库库库库,而而而而是是是是用用用用于于于于表表表表达达达达ODBCODBC驱驱驱驱动动动动程程程程序序序序和和和和一一一一个个个个RDBMSRDBMS特特特特殊殊殊殊连连连连接接接接的命名。的命名。的命名。的命名。9.4 ODBC驱动程序的分类驱动程序的分类 因因此此根根据据功功能能和和运运行行模模式式的的不不同同,驱驱动动程程序序可可以以分分为为多多种种级级别别,具具体体可可以以从从API一一致致性性级级别别、SQL语语法法一一致致性性级级别别和驱动程序类型三个方面来分类。和驱动程序类型三个方面来分类。9.4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 基础 应用 09 开放 互连
限制150内