第 12章 ODBC和 JDBC技术
? ODBC和 JDBC是开发 DBS的中间件技术 。
? ODBC(Open DataBase Connectivity),意为, 开
放数据库互连,, 是当前广泛应用的数据库技术 。
通过 ODBC,可以访问不同 DBMS创建的数据库 。
? JDBC是, Java Database Connectivity”的缩写,
意为, Java数据库连接,, 其实是商标名而不是
缩写字 。 JDBC是一种用于执行 SQL语句的 Java
API,由一组用 Java编程语言编写的类和接口组
成 。
第 12章 ODBC和 JDBC技术
? 12.1 异构数据库与中间件技术
? 12.2 中间件技术
? 12.3 使用 ODBC的数据库程序体系结构
? 12.4 ODBC数据源的建立
? 12.5 ODBC接□
? 12.6 ODBC的符合性级别
? 12.7 JDBC
? 12.8 典型的 DBS开发工具
? 12.9 小结 12.10 习题
12.1 异构数据库与中间件技术
? 异构数据库问题,企业部门中大量存在。
? 如何访问?
? 异构数据库的访问,原来 采用 API的数据
库应用编程,很复杂。
? 现在:一般用 ODBC
12.2 中间件技术
? 中间件技术广泛应用于分布式环境的软件开发。
? 在开发 c/s数据库应用系统时,通过使用中间件,
可以不必考虑计算机网络上的各种不同层次,
如网络的拓扑结构、操作系统、数据库、通信
协议等,减轻软件开发的复杂程度。
? 中间件 (Middleware)是应用于分布式环境中以
保证操作系统、通信协议、数据库等之间进行
对话、互操作的软件系统。
12.2 中间件作用与分类
? 中间件作用:
? 1,在客户机和服务器之间传递查询及其结果
? 2,保证网络中各部件 (软件和硬件 )之间实现透
明的连接
? 3,提高数据库系统的效率
? 4,中间件具有安全性机制
? 分类,主要有数据访问中间件、远程过程调用
中间件、分布式事务处理中间件、对象调用中
间件以及面向消息的中间件等。
12.3 使用 ODBC的数据库程序体系
结构
? ODBC是 Microsoft公司于 1992年推出的数据库
访问中间件产品 。
? ODBC技术为应用程序提供了一套 CLI(Call-
Level Interface,调用层接口 )函数库和基于
DLL(Dynamic Link Library,动态连接库 )的运
行支持环境 。
12.3 使用 ODBC的数据库程序体系
结构
ODBC的数据库应用程序
ODBC驱动程序管理器
SQL Server
驱动程序
Sybase
驱动程序等
DB2
驱动程序
Oracle
驱动程序
Foxpro
驱动程序
SQLServe
数据源
Oracle
数据源
FoxPro
数据源
Sybase
数据源
DB2
数据源
DB DB DB DBDB
12.4 ODBC数据源的建立
12.4 ODBC数据源的建立
?,用户 DSN” 提供了如何与指定数据提供者连接的
信息,用户数据源只能被当前用户访问,对计算
机来说是本地的,只能用于当前机器上。
? 系统 DSN” 对于计算机来说是本地的,但并不是
用户专用的;任何具有权限的用户都可以访问系
统 DSN,它对当前机器上所有的用户可见。
?, 文件 DSN” 文件数据源允许用户连接数据提供
者,它可由安装了相同驱动程序的用户所共享。
文件数据源不必是用户专用或对计算机来说是本
地的。
12.4 ODBC数据源的建立
12.5 ODBC接□
? ODBC数据库应用程序
在数据请求时经过三
个基本步骤,即初始
化部分,SQL处理部分
和终止部分。每一步
一般要使用一些函数。
? ODBC应用程序的基本
流程及调用函数名,
分配环境句柄 SQLAllocEnv
分配连接句柄 SQLAllocConnect
与服务器连接 SQLConnect
分配语句句柄 SQLAllocStmt
初始
化
语句处理和检索部分
SQLExecDirect(直接执行函数 )
SQLPrepare(语句预备函数 )
SQLExecute(语句执行函数 )
SQL
处理
与服务器断开 SQLDisconnect
释放语句句柄 SQLFreeStmt
释放语句句柄 SQLFreeConnect
释放环境句柄 SQLFreeEnv
终
止
12.6 ODBC的符合性级别
? 由于不同 DBMS对 SQL支持不同,有些 SQL功能在某个
DBMS上没有实现,则 ODBC不可能为应用程序完成这一功
能,另外,有些功能是 SQL标准新增加的,但 DBMS厂商未
能及时跟上,则 ODBC同样也无法完成。对于 DBMS不支持
的 SQL功能,DBMS要通报给应用程序,因而 ODBC本身最
好支持完全的 SQL,应用程序才能不用修改就可访问不同
数据源。
? 鉴于上述原因,ODBC定义了两套符合性级别:一套是函
数调用 API符合性,另一套是 SQL的 SQL符合性。
? API符合性有三个级,核心级 API,一级 API,二级 API
? ODBC对 SQL支持分三级:最小级 SQL,核心级 SQL和扩展
级 SQL。
12.7 JDBC
? Java编程语言具有坚固、安全、易于使用、易于
理解和易于从网络自动下载等特性,已逐渐成为
编写数据库应用程序的大众编程语言。 Java通过
与 JDBC的结合,提供了良好的数据库访问性能。
? JDBC为数据库开发人员提供了一个标准的 API。
? JDBC API目前新版本是 JDBC 3.0 API。
? JDBC 3.0组成,java.sql包和 javax.sql包。 javax.sql
包是 java.sql包的补充。
12.7 JDBC驱动程序类型
Java Application
JDBC Driver Manager
JDBC
API
JDBC Driver
API
JDBC
Implementati
on
alternatives
JDBC Net
Driver
JDBC ODBC
Bridge Driver
Driver
A
ODBC and
DB Driver
Driver
B
Proprietary database access protocol
JDBC
Middle Ware
Protocol
12.8 典型的 DBS开发工具
? PowerBuilder
? Delphi
? Visual Basic
? Oracle Developer/2000和 iDeveloper
? C++Builder
12.9 小结
? ODBC和 JDBC是用于数据库访问的中间件 。
? ODBC在 C/S中使用最多 。 ODBC定义了一个 API,每个
应用程序使用相同源代码通过 DBMS驱动程序访问多种
数据源 。
? ODBC体系结构由四个部分构成 。 驱动程序管理器和
DBMS的驱动程序都是动态连接库 (DLL),由函数组成 。
? ODBC接口由一系列调用函数组成 。 应用程序分成初始
化, SQL处理和终止三个部分 。
? ODBC提供两个符合性级别 。 ODBC和 SQL正在统一 。
? JDBC是 Java语言访问数据库的接口 。
? 典型开发工具有,PowerBuilder,Delphi,Visual Basic
和 Developer/2000,C++Builder等 。
12.10 习题
? 12.1 什么是中间件?有什么作用?
? 12.4 ODBC体系结构有几层?试述各层间的联系 。
? l2.7 什么是 DBMS驱动程序?主要任务是什么?
? 12.8 DBMS驱动程序有哪两种类型?主要区别是什么?
? 12.9 ODBC数据源有哪三类?
? 12.10 试叙述 ODBC应用程序的基本流程 。
? 12.16 JDBC API有何作用? 由哪几部分构成?
? 12.l8 当前有哪些典型的数据库应用系统开发工具?这些工
具有什么共同点?
? ODBC和 JDBC是开发 DBS的中间件技术 。
? ODBC(Open DataBase Connectivity),意为, 开
放数据库互连,, 是当前广泛应用的数据库技术 。
通过 ODBC,可以访问不同 DBMS创建的数据库 。
? JDBC是, Java Database Connectivity”的缩写,
意为, Java数据库连接,, 其实是商标名而不是
缩写字 。 JDBC是一种用于执行 SQL语句的 Java
API,由一组用 Java编程语言编写的类和接口组
成 。
第 12章 ODBC和 JDBC技术
? 12.1 异构数据库与中间件技术
? 12.2 中间件技术
? 12.3 使用 ODBC的数据库程序体系结构
? 12.4 ODBC数据源的建立
? 12.5 ODBC接□
? 12.6 ODBC的符合性级别
? 12.7 JDBC
? 12.8 典型的 DBS开发工具
? 12.9 小结 12.10 习题
12.1 异构数据库与中间件技术
? 异构数据库问题,企业部门中大量存在。
? 如何访问?
? 异构数据库的访问,原来 采用 API的数据
库应用编程,很复杂。
? 现在:一般用 ODBC
12.2 中间件技术
? 中间件技术广泛应用于分布式环境的软件开发。
? 在开发 c/s数据库应用系统时,通过使用中间件,
可以不必考虑计算机网络上的各种不同层次,
如网络的拓扑结构、操作系统、数据库、通信
协议等,减轻软件开发的复杂程度。
? 中间件 (Middleware)是应用于分布式环境中以
保证操作系统、通信协议、数据库等之间进行
对话、互操作的软件系统。
12.2 中间件作用与分类
? 中间件作用:
? 1,在客户机和服务器之间传递查询及其结果
? 2,保证网络中各部件 (软件和硬件 )之间实现透
明的连接
? 3,提高数据库系统的效率
? 4,中间件具有安全性机制
? 分类,主要有数据访问中间件、远程过程调用
中间件、分布式事务处理中间件、对象调用中
间件以及面向消息的中间件等。
12.3 使用 ODBC的数据库程序体系
结构
? ODBC是 Microsoft公司于 1992年推出的数据库
访问中间件产品 。
? ODBC技术为应用程序提供了一套 CLI(Call-
Level Interface,调用层接口 )函数库和基于
DLL(Dynamic Link Library,动态连接库 )的运
行支持环境 。
12.3 使用 ODBC的数据库程序体系
结构
ODBC的数据库应用程序
ODBC驱动程序管理器
SQL Server
驱动程序
Sybase
驱动程序等
DB2
驱动程序
Oracle
驱动程序
Foxpro
驱动程序
SQLServe
数据源
Oracle
数据源
FoxPro
数据源
Sybase
数据源
DB2
数据源
DB DB DB DBDB
12.4 ODBC数据源的建立
12.4 ODBC数据源的建立
?,用户 DSN” 提供了如何与指定数据提供者连接的
信息,用户数据源只能被当前用户访问,对计算
机来说是本地的,只能用于当前机器上。
? 系统 DSN” 对于计算机来说是本地的,但并不是
用户专用的;任何具有权限的用户都可以访问系
统 DSN,它对当前机器上所有的用户可见。
?, 文件 DSN” 文件数据源允许用户连接数据提供
者,它可由安装了相同驱动程序的用户所共享。
文件数据源不必是用户专用或对计算机来说是本
地的。
12.4 ODBC数据源的建立
12.5 ODBC接□
? ODBC数据库应用程序
在数据请求时经过三
个基本步骤,即初始
化部分,SQL处理部分
和终止部分。每一步
一般要使用一些函数。
? ODBC应用程序的基本
流程及调用函数名,
分配环境句柄 SQLAllocEnv
分配连接句柄 SQLAllocConnect
与服务器连接 SQLConnect
分配语句句柄 SQLAllocStmt
初始
化
语句处理和检索部分
SQLExecDirect(直接执行函数 )
SQLPrepare(语句预备函数 )
SQLExecute(语句执行函数 )
SQL
处理
与服务器断开 SQLDisconnect
释放语句句柄 SQLFreeStmt
释放语句句柄 SQLFreeConnect
释放环境句柄 SQLFreeEnv
终
止
12.6 ODBC的符合性级别
? 由于不同 DBMS对 SQL支持不同,有些 SQL功能在某个
DBMS上没有实现,则 ODBC不可能为应用程序完成这一功
能,另外,有些功能是 SQL标准新增加的,但 DBMS厂商未
能及时跟上,则 ODBC同样也无法完成。对于 DBMS不支持
的 SQL功能,DBMS要通报给应用程序,因而 ODBC本身最
好支持完全的 SQL,应用程序才能不用修改就可访问不同
数据源。
? 鉴于上述原因,ODBC定义了两套符合性级别:一套是函
数调用 API符合性,另一套是 SQL的 SQL符合性。
? API符合性有三个级,核心级 API,一级 API,二级 API
? ODBC对 SQL支持分三级:最小级 SQL,核心级 SQL和扩展
级 SQL。
12.7 JDBC
? Java编程语言具有坚固、安全、易于使用、易于
理解和易于从网络自动下载等特性,已逐渐成为
编写数据库应用程序的大众编程语言。 Java通过
与 JDBC的结合,提供了良好的数据库访问性能。
? JDBC为数据库开发人员提供了一个标准的 API。
? JDBC API目前新版本是 JDBC 3.0 API。
? JDBC 3.0组成,java.sql包和 javax.sql包。 javax.sql
包是 java.sql包的补充。
12.7 JDBC驱动程序类型
Java Application
JDBC Driver Manager
JDBC
API
JDBC Driver
API
JDBC
Implementati
on
alternatives
JDBC Net
Driver
JDBC ODBC
Bridge Driver
Driver
A
ODBC and
DB Driver
Driver
B
Proprietary database access protocol
JDBC
Middle Ware
Protocol
12.8 典型的 DBS开发工具
? PowerBuilder
? Delphi
? Visual Basic
? Oracle Developer/2000和 iDeveloper
? C++Builder
12.9 小结
? ODBC和 JDBC是用于数据库访问的中间件 。
? ODBC在 C/S中使用最多 。 ODBC定义了一个 API,每个
应用程序使用相同源代码通过 DBMS驱动程序访问多种
数据源 。
? ODBC体系结构由四个部分构成 。 驱动程序管理器和
DBMS的驱动程序都是动态连接库 (DLL),由函数组成 。
? ODBC接口由一系列调用函数组成 。 应用程序分成初始
化, SQL处理和终止三个部分 。
? ODBC提供两个符合性级别 。 ODBC和 SQL正在统一 。
? JDBC是 Java语言访问数据库的接口 。
? 典型开发工具有,PowerBuilder,Delphi,Visual Basic
和 Developer/2000,C++Builder等 。
12.10 习题
? 12.1 什么是中间件?有什么作用?
? 12.4 ODBC体系结构有几层?试述各层间的联系 。
? l2.7 什么是 DBMS驱动程序?主要任务是什么?
? 12.8 DBMS驱动程序有哪两种类型?主要区别是什么?
? 12.9 ODBC数据源有哪三类?
? 12.10 试叙述 ODBC应用程序的基本流程 。
? 12.16 JDBC API有何作用? 由哪几部分构成?
? 12.l8 当前有哪些典型的数据库应用系统开发工具?这些工
具有什么共同点?