[Java] Oracle的JDBC驱动的版本说明

classes12.jar,ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的区别,之间的差异

作者:赵磊

博客:http://elf8848.iteye.com

来源:http://elf8848.iteye.com/blog/811037

在使用Oracle JDBC驱动时,有些问题你是不是通过替换不同版本的Oracle  JDBC驱动来解决的?最常使用的ojdbc14.jar有多个版本,classes12.jar有多个版本你了解吗?

连接类型:
1、JDBC OCI: oci是oracle call interface的缩写,此驱动类似于传统的ODBC 驱动。因为它需要Oracle
Call Interface and
Net8,所以它需要在运行使用此驱动的JAVA程序的机器上安装客户端软件,其实主要是用到orcale客户端里以dll方式提供的oci和服务器配
置。
2、JDBC Thin: thin是for thin client的意思,这种驱动一般用在运行在WEB浏览器中的JAVA程序。它不是通过OCI or Net8,而是通过Java sockets进行通信,是纯java实现的驱动,因此不需要在使用JDBC Thin的客户端机器上安装orcale客户端软件,所以有很好的移植性,通常用在web开发中。

-------------------------------------------------------------------------------

随Oracle 8i发布的Oracle JDBC驱动8.1.7版本
classes111.zip 适用于JDK 1.1.x
classes12.zip  适用于JDK 1.2.x
只有zip文件,无jar文件。

-------------------------------------------------------------------------------

随Oracle 9i发布的Oracle JDBC驱动9.2.0版本

classes111.jar  适用于JDK 1.1.x
classes12.jar   适用于JDK 1.2 and JDK 1.3 (我的项目环境JDK1.6,oracle 10g,windows,用了这个目前没发现问题)
ojdbc14.jar     适用于JDK 1.4
classes111.zip  适用于JDK 1.1.x
classes12.zip   适用于JDK 1.2.x

***_g.jar 只是用javac -g编译,生成所有调试信息,其它全一样

新特性:
1、Thin连接类型的驱动对BFILE,BLOB,CLOB 提供直接支持,以前通常是调用PL/SQL来实现。
2、支持JDBC 3.0 特性
3、ojdbc14.jar 支持JDK 1.4
4、ojdbc14.jar 支持保存点(Savepoint)
5、可以在不同的连接池中使用PreparedStatement,这是重要的性能提升

从此以后新的jar文件的命名采用 ojdbc<jdk ver>.jar 格式 ,以前的jar文件名称不变

-------------------------------------------------------------------------------

随Oracle 10.2发布的Oracle JDBC驱动10.2版本

classes12.jar  适用于JDK 1.2 and JDK 1.3.

ojdbc14.jar    适用于 JDK 1.4 and 5.0
***_g.jar 只是用javac -g编译,生成所有调试信息,其它全一样

特点:

1、全面支持JDK 1.5
2、支持JDBC 3.0

-------------------------------------------------------------------------------

随Oracle 11.1发布的Oracle JDBC驱动11.1版本

ojdbc5.jar:   适用于jdk5
ojdbc6.jar:   适用于jdk6 (如果你使用jdk1.5,就不能使用这个驱动)
***_g.jar 只是用javac -g编译,生成所有调试信息,其它全一样

新特性:
1、

ojdbc7.jar:支持JDK7

ojdbc6.jar:支持JDK6,支持JDBC 4.0,新的java.sql.SQLXML类型没有被支持。

ojdbc5.jar:全面支持使用JDK5 和 JDBC 3.0 。
2、建议使用oracle.jdbc.OracleDriver类,不建议使用oracle.jdbc.driver.OracleDriver。从9.0.1开始的每个release都推荐使用oracle.jdbc。

3、j2se 1.2,1.3,1.4不再支持。11R1不再包括这些版本的jar和zip,如果仍然使用这些版本,可以继续使用10gR2的jdbc。
4、11gR1 Thin driver支持AES加密算法,SHA1 hash算法,RADIUS, KERBEROS,SSL认证机制.
5、支持ANYDATE和ANYTYPE类型。这两种类型自9i引入,11R1前,程序员只能通过PL/SQL操作。
6、高级队列支持。11R1提供了访问AQ的高性能接口。
7、支持数据库变更通知。
8、Thin和OCI的数据库启动和关闭。11R1提供了这样的方法来启动和关闭数据库。
9、新的工厂方法。Oracle JDBC 11R1 oracle.jdbc.OracleConnection提供了创建Oracle对象的工厂方法。
包括ARRAY, BFILE, DATE, INTERVALDS, NUMBER, STRUCT, TIME,TIMESTAMP,TIMESTAMP等。

---------------------------------------------------

总体讲新版本的JDBC驱动 性能强、很多bug被发现并已解决。

我遇到的,之前使用ojdbc14.jar(不记得哪个版本了)批量插入10万条,实际只插入了3万多条,其它的丢失了,换ojdbc6.jar后,一次commit批量插入100万条也OK了。

尽量使用和数据库版本一致的驱动,有bug时,换高版本的JDBC驱动试试 。

如果一个jdbc的jar包你不知道是那个版本的,可以解压这个jar包,再META-INF\MANIFEST.MF 文件中找"Oracle JDBC Driver version - 10.1.0.2.0"字样,就知道版本了

---------------------------------------------------

参考:
http://www.oracle.com/technetwork/database/enterprise-edition/jdbc817-100207.html
http://www.inrialpes.fr/helix/people/genoud/ENSJAVA/cours/Java/JDBCORacle9.2.0.1/jdbc_readme9201.html
http://www.oracle.com/technetwork/database/enterprise-edition/readme-10201-097623.html?ssSourceSiteId=otncn
http://www.oracle.com/technetwork/database/enterprise-edition/111070-readme-083278.html?ssSourceSiteId=otncn

时间: 2024-10-19 15:10:39

[Java] Oracle的JDBC驱动的版本说明的相关文章

java加载jdbc驱动三种方式的比较

平时连接数据库的时候首先要加载jdbc驱动,这一步骤其实有三种方式,他们的区别?优劣? 快速了解三种加载方式 Class.forName("com.mysql.jdbc.Driver"); DriverManager.registerDriver(new com.mysql.jdbc.Driver()) System.setProperty("jdbc.drivers","com.mysql.jdbc.Driver"); 注释: 第二种与第三种注

mysql的版本对应jdbc驱动的版本

Connector/J 5.1 支持Mysql 4.1.Mysql 5.0.Mysql 5.1.Mysql 6.0 alpha这些版本.    Connector/J 5.0 支持MySQL 4.1.MySQL 5.0 servers.distributed transaction (XA).    Connector/J 3.1 支持MySQL 4.1.MySQL 5.0 servers.MySQL 5.0 except distributed transaction (XA) support

在Maven仓库中添加Oracle数据库的JDBC驱动依赖

今天在使用IDEA构建Maven项目时,发现Oracle数据库JDBC驱动依赖使用不了,就在网上搜索了一下,下面是不能使用的原因. 由于Oracle授权问题,Maven3不提供oracle JDBC driver,我们也可以在Maven的中心搜索ojdbc驱动包,但是可以看到版本过于陈旧,即使有坐标,也下载不了. 为了可以在使用Maven构建的项目中使用Oracle JDBC driver,我们就必须手动添加Oracle的JDBC驱动依赖到本地仓库中. 既然要手动添加Maven依赖到本地仓库中,

oracle 11g jdbc jar包在哪个文件目录

一. 如果装了oracle数据库的话, 大致是这样的目录:    D:\oracle\product\11.2.0\client_1\oui\jlib\classes12.jar 或者    D:\oracle\product\11.2.0\dbhome_1\oui\jlib\classes12.jar 注意: 对于oracle11的jdbc\lib下没有classer12.jar文件(注:我在Windows8中安装11g时,这个文件是存在的,导入myeclipse10里面很好用), 但是有oj

在Maven仓库中手动添加Oracle11g JDBC驱动

由于Oracle授权问题,Maven3不提供Oracle JDBC driver,为了在Maven项目中应用Oracle JDBC driver,必须手动添加到本地仓库 手动添加oracle 11g JDBC 驱动  mvn install:install-file -Dfile=D:/ojdbc6.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.1.0 -Dpackaging=jar 命令执行后 将D:/ojdbc6.

java核心技术之JDBC (一)

JDBC 1.什么是JDBC JDBC的全称是Java DataBase Connection,也就是Java数据库连接,我们可以 用它来操作关系型数据库.JDBC接口及相关类在java.sql包和javax.sql包里.我们 可以用它来连接数据库,执行SQL查询,存储过程,并处理返回的结果. JDBC接口让Java程序和JDBC驱动实现了松耦合,使得切换不同的数据库变得更加 简单 2.jdbc使用过程 1.     注册驱动 (Driver) 2.     建立连接(创建Connection)

IBM WebSphere MQ的oracle的jdbc

一.IBM WebSphere MQ7.0的jdbc支持数据库有: DB2 Informix Informix_With_Date_Format Microsoft_SQL_Server Oracle Sybase_JConnect6_05 本文以oracle的jdbc为例,以两种方法建jdbc,详情如下: 二.命令建jdbc 1.打开MB命令控制台(可参考http://www.cnblogs.com/hhl-kf/archive/2012/09/25/2694052.html) 2.创建配置服

oracle的jdbc的版本与jdk对应关系

连接类型:1. JDBC OCI: oci是oracle call interface的缩写,此驱动类似于传统的ODBC 驱动.因为它需要Oracle Call Interface and Net8,所以它需要在运行使用此驱动的JAVA程序的机器上安装客户端软件,其实主要是用到orcale客户端里以dll方式提供的oci和服务器配 置. 2.JDBC Thin: thin是for thin client的意思,这种驱动一般用在运行在WEB浏览器中的JAVA程序.它不是通过OCI or Net8,

MySQL版本与JDBC驱动的问题

我用eclipse写struts的注册页面的时候,出现了这个问题,我上网查了一下,有人说这个数据库表的引擎问题,我查看了引擎发现没有问题,还有人说是JDBC版本的问题,我就试着去更改我的JDBC的驱动版本,还真解决了问题,我出现的错误提示如下: java.sql.SQLException:Could not retrieve transation read-only status server atcom.mysql.jdbc.SQLError.createSQLException(SQLErr