JDBC的4种驱动类型
2016-03-03 11:34
399 查看
Java中的JDBC驱动可以分为四种类型,包括JDBC-ODBC桥、本地API驱动、网络协议驱动和本地协议驱动。
只要本地机装有相关的ODBC驱动那么采用JDBC-ODBC桥几乎可以访问所有的数据库,JDBC- ODBC方法对于客户端已经具备ODBC driver的应用还是可行的.
但是,由于JDBC-ODBC先调用 ODBC再由ODBC去调用本地数据库接口访问数据库.所以,执行效率比较低,对于那些大数据量 存取的应用是不适合的.而且,这种方法要求客户端必须安装ODBC 驱动,所以对于基于 internet ,intranet的应用也是不合适的.因为,你不可能要求所有客户都能找到ODBC driver.
这种方法需要本地 数据库驱动代码. 本地API驱动 | 厂商DB代码—————数据库Server,这种驱动比起JDBC-ODBC桥执行效率大大提高了.但是,它仍然需要在客户端加载数据库厂商 提供的代码库.这样就不适合基于internet的应用.并且,他的执行效率比起3,4型的JDBC驱动 还是不够高.
由于这种驱动是基于server的.所以,它不需要在客户端加载数据库厂商提供的代码库.而且 他在执行效率和可升级性方面是比较好的.因为大部分功能实现都在server端,所以这种驱动 可以设计的很小,可以非常快速的加载到内存中. 但是,这种驱动在中间件层仍然需要有配置 其它数据库驱动程序,并且由于多了一个中间层传递数据,它的执行效率还不是最好.
由于这种驱动不需要先把JDBC的调用传给ODBC或本地数据库接口或者是中间层服务器,所以它的执行效率是非常高的。而且它根本不需要在客户端或服务器端装载任何的软件或驱动。这种驱动程序可以动态的被下载.但是对于不同的数据库需要下载不同的驱动程序。
在日常的开发过程中,使用比较广泛的就是本地协议驱动,通过引入不同数据库厂商的驱动程序来操作数据库,下面是数据库驱动程序的简单介绍:
http://blog.csdn.net/u011983531/article/details/56967292
以上对四种类型的JDBC驱动做了一个说明,那么它们适合那种类型的应用开发呢?
JDBC-ODBC桥:执行效率不高,适合做为开发应用时的一种过度方案,或着对于初学者了解JDBC编程也较适用,对于那些需要大数据量操作的应用程序则应该考虑2,3,4型驱动。
本地API驱动:在intranet方面的应用可以考虑2型驱动,但是由于3,4型驱动在执行效率上比2型驱动有着明显的优势,而且目前开发的趋势是使用纯java,所以3,4型驱动也可以作为考虑对象。
网络协议驱动:可以把多种数据库驱动都配置在中间层服务器,所以3型驱动最适合那种需要同时连接多个不同种类的数据库,并且对并发连接要求高的应用。
本地协议驱动:4型驱动则适合那些连接单一数据库的工作组应用。
类型一、JDBC-ODBC桥
JDBC-ODBC 桥是sun公司提供的,是jdk提供的的标准API. 这种类型的驱动实际是把所有 JDBC的调用传递给ODBC ,再由ODBC调用本地数据库驱动代码.( 本地数据库驱动代码是指 由数据库厂商提供的数据库操作二进制代码库,例如在oracle for windows中就是oci dll 文 件)只要本地机装有相关的ODBC驱动那么采用JDBC-ODBC桥几乎可以访问所有的数据库,JDBC- ODBC方法对于客户端已经具备ODBC driver的应用还是可行的.
但是,由于JDBC-ODBC先调用 ODBC再由ODBC去调用本地数据库接口访问数据库.所以,执行效率比较低,对于那些大数据量 存取的应用是不适合的.而且,这种方法要求客户端必须安装ODBC 驱动,所以对于基于 internet ,intranet的应用也是不合适的.因为,你不可能要求所有客户都能找到ODBC driver.
类型二、本地API驱动
本地API驱动直接把JDBC调用转变为数据库的标准调用再去访问数据库.这种方法需要本地 数据库驱动代码. 本地API驱动 | 厂商DB代码—————数据库Server,这种驱动比起JDBC-ODBC桥执行效率大大提高了.但是,它仍然需要在客户端加载数据库厂商 提供的代码库.这样就不适合基于internet的应用.并且,他的执行效率比起3,4型的JDBC驱动 还是不够高.
类型三、网络协议驱动
这种驱动实际上是根据我们熟悉的三层结构建立的. JDBC先把对数局库的访问请求传递给网 络上的中间件服务器. 中间件服务器再把请求翻译为符合数据库规范的调用,再把这种调用 传给数据库服务器.如果中间件服务器也是用java开法的,那么在在中间层也可以使用1,2型 JDBC驱动程序作为访问数据库的方法. 网络协议驱动———中间件服务器————数据库Server由于这种驱动是基于server的.所以,它不需要在客户端加载数据库厂商提供的代码库.而且 他在执行效率和可升级性方面是比较好的.因为大部分功能实现都在server端,所以这种驱动 可以设计的很小,可以非常快速的加载到内存中. 但是,这种驱动在中间件层仍然需要有配置 其它数据库驱动程序,并且由于多了一个中间层传递数据,它的执行效率还不是最好.
类型四、本地协议驱动
这种驱动直接把JDBC调用转换为符合相关数据库系统规范的请求。由于4型驱动写的应用可以直接和数据库服务器通讯。这种类型的驱动完全由java实现,因此实现了平台独立性。由于这种驱动不需要先把JDBC的调用传给ODBC或本地数据库接口或者是中间层服务器,所以它的执行效率是非常高的。而且它根本不需要在客户端或服务器端装载任何的软件或驱动。这种驱动程序可以动态的被下载.但是对于不同的数据库需要下载不同的驱动程序。
在日常的开发过程中,使用比较广泛的就是本地协议驱动,通过引入不同数据库厂商的驱动程序来操作数据库,下面是数据库驱动程序的简单介绍:
http://blog.csdn.net/u011983531/article/details/56967292
以上对四种类型的JDBC驱动做了一个说明,那么它们适合那种类型的应用开发呢?
JDBC-ODBC桥:执行效率不高,适合做为开发应用时的一种过度方案,或着对于初学者了解JDBC编程也较适用,对于那些需要大数据量操作的应用程序则应该考虑2,3,4型驱动。
本地API驱动:在intranet方面的应用可以考虑2型驱动,但是由于3,4型驱动在执行效率上比2型驱动有着明显的优势,而且目前开发的趋势是使用纯java,所以3,4型驱动也可以作为考虑对象。
网络协议驱动:可以把多种数据库驱动都配置在中间层服务器,所以3型驱动最适合那种需要同时连接多个不同种类的数据库,并且对并发连接要求高的应用。
本地协议驱动:4型驱动则适合那些连接单一数据库的工作组应用。
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- 数据库链接字符串查询网站
- DB2实例管理
- DB2实例管理
- 保障MySQL数据安全的14个最佳方法
- mysql问答汇集
- 第三章 数据库备份和还原
- 创建一个空的IBM DB2 ECO数据库的方法
- Access 2000 数据库 80 万记录通用快速分页类
- 开通一个数据库失败的原因的和解决办法
- 一个简单的asp数据库操作类
- CentOS下DB2数据库安装过程详解
- EasyASP v1.5发布(包含数据库操作类,原clsDbCtrl.asp)第1/2页
- sql2008 还原数据库解决方案
- Oracle 数据库自动存储管理-安装配置
- Oracle数据库执行脚本常用命令小结
- Oracle 数据库 临时数据的处理方法
- 数据库分页查询语句数据库查询
- 最近比较流行的数据库挂马