孙鑫 《web开发详解》p254
8.1驱动程序的类型
通常一个数据库厂商在推出自己的数据库产品的时候,都会提供一套访问数据库的API,这些API可能以各种语言的形式提供,客户端通过调用这些专有的API访问数据库。每一个厂商提供的数据库访问API都不相同,导致了某一个特定的数据库的程序不能移植到另一个数据库上。为此才有了ODBC和JDBC。JDBC以类库来代替数据库厂商的专有API,客户端只需要调用JDBC API,而由JDBC的实现层(即JDBC驱动程序)去处理与数据库的通信,从而让我们的应用程序不再受限于具体的数据库产品。
JDBC驱动程序可以分为4类,分别是:
JDBC-ODBC桥
部分本地API,部分Java驱动程序
JDBC网络纯Java驱动程序
本地协议纯Java驱动程序
体系结构:四个组要组件
应用
驱动器管理
多个数据源指定的驱动器
数据源应用
应用-初始化、终止与数据源的连接
通过定义好的ODBC/JDBC API,提交SQL语句、获得结果
驱动器管理
加载ODBC/JDBC 驱动器
从应用层传递ODBC/JDBC函数到正确的驱动器
处理从应用层提交的ODBC/JDBC初始化和信息调用,并纪录所用的功能调用。
执行初步的错误检测
驱动器
建立与数据源的连接
提交请求、返回请求结果
转换数据源与ODBC/JDBC间的数据格式、错误格式和错误代码
数据源
处理从驱动器发来的命令
返回结果