JDBC 驱动类型

第一种: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   驱动,所以对于基于internetintranet的应用也是不合适的。因为,你不可能要求所有客户都能找到odbc driver
第二种:本地Api驱动     
   
本地api驱动直接把jdbc调用转变为数据库的标准调用再去访问数据库。这种方法需要本地数据库驱动代码。
   
这种驱动比起jdbc-odbc桥执行效率大大提高了。但是,它仍然需要在客户端加载数据库厂商提供的代码库。这样就不适合基于internet的应用,并且,他的执行效率比起3,4型的jdbc驱动还是不够高。     
第三种:网络协议驱动     
   
这种驱动实际上是根据我们熟悉的三层结构建立的。jdbc先把对数局库的访问请求传递给网络上的中间件服务器。中间件服务器再把请求翻译为符合数据库规范的调用,再把这种调用传给数据库服务器。如果中间件服务器也是用java开发的,那么在在中间层也可以使用1,2 jdbc驱动程序作为访问数据库的方法。
   
由于这种驱动是基于server的所以,它不需要在客户端加载数据库厂商提供的代码库。而且他在执行效率和可升级性方面是比较好的。因为大部分功能实现都在server端,所以这种驱动可以设计的很小,可以非常快速的加载到内存中。但是,这种驱动在中间件层仍然需要有配置其它数据库驱动程序,并且由于多了一个中间层传递数据,它的执行效率还不是最好。

第四种:本地协议驱动     
   
这种驱动直接把jdbc调用转换为符合相关数据库系统规范的请求。由于4型驱动写的应用可以直接和数据库服务器通讯。这种类型的驱动完全由java实现,因此实现了平台独立性。

由于这种驱动不需要先把jdbc的调用传给odbc或本地数据库接口或者是中间层服务器。所以它的执行效率是非常高的,而且,它根本不需要在客户端或服务器端装载任何的软件或驱动。这种驱动程序可以动态的被下载。但是对于不同的数据库需要下载不同的驱动程序。

 

附:

JDBCJava DataBase ConnectivityAPIJava程序语言内的针对数据存取所设计的程序开发接口,主要是由一组Java语言编写的"""接口"所构成。
JDBC 3.0 API
已完全包含在JDK 1.4版本中。
使用JDBC API存取特定数据库系统前,必须拥有适当的JDBC驱动程序,可以在Sun网站查询http://java.sun.com/products/jdbc/jdbc.drivers.html,
也可以在OTN网站下载最新的JDBC驱动程序http://otn.oracle.com/software/tech/java/sqlj_jdbc/content.html
JDBC
分为两大部分,

一、开发接口,提供给程序开发人员必要的java"""方法",开发接口包括下面两个包java.sqljavax.sql
二、实现接口,定义JDBC的规格与需求,主要是由Sun公司提供给关系型数据库系统厂商,各厂商可以遵循标准规格设计出最佳的JDBC驱动程序。
所以开发JDBC驱动程序的厂商是将各种API通过驱动程序的形式来实现;使用这些JDBC驱动程序的开发人员,则是利用API所提供的Java"""方法"来开发数据库应用程序。

 

ODBCJDBC两种驱动程序的差异
1ODBC是通过C语言接口,不适合java程序直接调用(ODBCC语言API大量使用指针,易产生安全问题)
2)可以将JDBC API想象成"高级的ODBC API面向对象版本"


 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值