OJDBC版本【classes12.jar,ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的区别】_返璞归真的博客-程序员秘密

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

在使用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、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

quote:http://tiantian0521.blog.163.com/blog/static/4172088320117294265766/

 

Oracle11g JDBC 驱动程序

Oracle 数据库 11g 第 2 版 (11.2.0.1.0) JDBC 驱动程序 
针对所有平台的 JDBC 瘦客户端
 ojdbc5.jar (1,996,228 字节)— 用于 JDK 1.5 的类。它包含 JDBC 驱动程序类,但不包含在 Oracle Object 和 Collection 类型中支持 NLS 的类。
 ojdbc5_g.jar (3,081,328 字节)— 与 ojdbc5.jar 一样,除了类通过“javac -g”编译并包含跟踪代码。
 ojdbc6.jar (2,111,220 字节)— 用于 JDK 1.6 的类。它包含 JDBC 驱动程序类,但不包含在 Oracle Object 和 Collection 类型中支持 NLS 的类。
 ojdbc6_g.jar (3,401,519 字节)— 与 ojdbc6.jar 一样,除了通过“javac -g”编译并包含跟踪代码。
 ojdbc5dms.jar (2,429,777 字节)— 与 ojdbc5.jar 一样,除了包含支持 DMS 和有限的 java.util.logging 调用的工具。
 ojdbc5dms_g.jar (3,101,875 字节)— 与 ojdbc5_g.jar 一样,除了包含支持 DMS 的工具。
 ojdbc6dms.jar (2,655,741 字节)— 与 ojdbc6.jar 一样,除了包含支持 DMS 和有限的 java.util.logging 调用的工具。
 ojdbc6dms_g.jar (3,423,263 字节)— 与 ojdbc6_g.jar 一样,除了包含支持 DMS 的工具。
 orai18n.jar (1,656,280 字节)— 用于 JDK 1.5 和 1.6 的 NLS 类。它包含在 Oracle Object 和 Collection 类型中支持 NLS 的类。该 jar 文件代替旧的 nls_charset jar/zip 文件。
 demo.zip (603,363 字节)— 包含 JDBC 示例程序。

Oracle 数据库 11g 第 1 版 (11.1.0.7.0) JDBC 驱动程序
针对所有平台的 JDBC 瘦客户端
 ojdbc5.jar (1,890,499 字节)— 用于 JDK 1.5 的类。它包含 JDBC 驱动程序类,但不包含在 Oracle Object 和 Collection 类型中支持 NLS 的类。
 ojdbc5_g.jar (2,942,818 字节)— 与 ojdbc5.jar 一样,除了类通过“javac -g”编译并包含跟踪代码。
 ojdbc6.jar (1,988,051 字节)— 用于 JDK 1.6 的类。它包含 JDBC 驱动程序类,但不包含在 Oracle Object 和 Collection 类型中支持 NLS 的类。
 ojdbc6_g.jar (3,217,836 字节)— 与 ojdbc6.jar 一样,除了通过“javac -g”编译并包含跟踪代码。
 libheteroxa11.so (11,159 字节)— JDBC OCI 驱动程序使用的共享库。
 libocijdbc11.so (129,297 字节)— JDBC OCI 驱动程序使用的共享库。
 ojdbc5dms.jar (2,326,232 字节)— 与 ojdbc5.jar 一样,除了包含支持 DMS 和有限的 java.util.logging 调用的工具。
 ojdbc5dms_g.jar (2,963,364 字节)— 与 ojdbc5_g.jar 一样,除了包含支持 DMS 的工具。
 ojdbc6dms.jar (2,526,666 字节)— 与 ojdbc6.jar 一样,除了包含支持 DMS 和有限的 java.util.logging 调用的工具。
 ojdbc6dms_g.jar (3,239,432 字节)— 与 ojdbc6_g.jar 一样,除了包含支持 DMS 的工具。
 orai18n.jar (1,656,243 字节)— 用于 JDK 1.5 和 1.6 的 NLS 类。它包含在 Oracle Object 和 Collection 类型中支持 NLS 的类。该 jar 文件代替旧的 nls_charset jar/zip 文件。
 demo.zip (596,992 字节)— 包含 JDBC 示例程序。

Oracle 数据库 11g 第 1 版 (11.1.0.6.0) JDBC 驱动程序
针对所有平台的 JDBC 瘦客户端
 ojdbc5.jar (1,879,860 字节)— 用于 JDK 1.5 的类。它包含 JDBC 驱动程序类,但不包含在 Oracle Object 和 Collection 类型中支持 NLS 的类。
 ojdbc5_g.jar (2,928,489 字节)— 与 ojdbc5.jar 一样,除了类通过“javac -g”编译并包含跟踪代码。
 ojdbc6.jar (1,977,267 字节)— 用于 JDK 1.6 的类。它包含 JDBC 驱动程序类,但不包含在 Oracle Object 和 Collection 类型中支持 NLS 的类。
 ojdbc6_g.jar (3,202,660 字节)— 与 ojdbc6.jar 一样,除了通过“javac -g”编译并包含跟踪代码。
 libheteroxa11.so (11,147 字节)— JDBC OCI 驱动程序使用的共享库。
 libocijdbc11.so (129,285 字节)— JDBC OCI 驱动程序使用的共享库。
 orai18n.jar (1,655,204 字节)— 用于 JDK 1.5 和 1.6 的 NLS 类。它包含在 Oracle Object 和 Collection 类型中支持 NLS 的类。该 jar 文件代替旧的 nls_charset jar/zip 文件。
 demo.zip (597,007 字节)— 包含 JDBC 示例程序。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/yinyichao0107/article/details/46982925

智能推荐

用python将Gb2312转成URL编码_python编码urlgb2312_龍丶胤的博客-程序员秘密

#!-*- encoding:utf-8 -*-import urllib.parsename = u'中国'encodedUrl = name.encode('gb2312')decodedUrl = urllib.parse.quote(encodedUrl)print(decodedUrl)parse.unquote(str2) 

AJAX开发点滴:$(function)({})背后的含义_ajax $function_The_Best_Hacker的博客-程序员秘密

AJAX开发点滴:$(function)({})背后的含义有一个奇特的 $(function(){}); 这代表的是什么意思呢?其实这短短的几个字符中的含义并不那么简单,并且还相当的复杂。不但这样,它还是诸多新手中非常容易出错的地方。甚至 jquery 对它的支持都有些 bug 要注意的地方。这个表达式如此的重要,所以我们一定要来好好的研究一番。首先要说的是 $(function(){})...

IDEA DATA GRIP 破解过程_ArcherSYM的博客-程序员秘密

1.https://blog.csdn.net/weixin_39428938/article/details/810788062.http://idea.lanyus.com/

只有spfile和控制文件情况下进行rman恢复时报ORA-00312 ORA-00313错误_yangchen8497的博客-程序员秘密

1、背景:在rman进行过整库备份,丢失了所有的数据文件和redolog文件,只剩下spfile和控制文件进行恢复2、情景重现:(1)删除所有的数据文件和redolog文件(2)rman> restore database;   一切正常(3)rman> recover database;  报了如下错误archived log file name=/home/oracle

SSM整合-完整配置文件_请叫我王同学的博客-程序员秘密

ssm整合说明spring+springmvc+mybatis,称为ssm。ssm可以说是后端程序员必备技能,应该也是目前用得最多的,所以无论如何都要掌握一、项目环境搭建:1. 新建maven项目2. 创建项目目录结构3. 添加依赖 &lt;properties&gt; &lt;project.build.sourceEncoding&gt;UTF-8&lt;/project.build.sourceEncoding&gt; &lt;maven.comp

Google浏览器报错:“STATUS_INVALID_IMAGE_HASH”_qq_1872583947的博客-程序员秘密

一、报错原因:windows10系统更新后,Google浏览器和Edge浏览器均报错:“STATUS_INVALID_IMAGE_HASH”。二、解决办法(1)Edge浏览器的解决办法(也是Google浏览器办法的第一步)参考我的另一篇博客:https://blog.csdn.net/qq_25857899/article/details/111562102(2)更改Google浏览器应用程序的名称在桌面右键点击Google浏览器快捷方式-》属性-》快捷方式-》打开文件所在的位置将应用程序名

随便推点

STM32 TIM定时器的使用(5)——PWM驱动电调控制无刷电机_无刷电机pwm_一个旅者的博客-程序员秘密

1、系列目录基本计时实验输入捕获实验(实验3的基础)电容按键检测实验 输出PWM实验PWM驱动无刷电机实验 (待补充)2、程序设计分析本次我们采用按键控制无刷电机的转速,实验本质是通过按键中断改变CCR的值,从而使PWM的占空比跟随按键改变,将PWM信号输入电调,最终实现对无刷电机的控制。3、实验用具正点原子STM32F1精英板新西达30A无刷电调A2212 1000KV无刷电机4、程序设计分析程序设计可以分为三大块:定时器、按键配置电机控制程序按键中断服务函数

Android踩坑小记:在onResume中申请权限_android onresume_MichaelX_Blog的博客-程序员秘密

这里写自定义目录标题背景:不停弹出的Toast定位过程根本原因(转自下面相关链接)后续优化相关链接背景:不停弹出的Toast我们在某个页面的onResume中进行了权限的判断和申请,在权限拒绝的回调onRequestPermissionsResult中添加了一个Toast提示权限获取失败。结果发现权限被拒绝并且“拒绝后不再提示”,Toast不停弹出。同时页面的点击事件失效。定位过程log显示页面的onPause/onResume和onRequestPermissionsResult不停回调。排查on

recyclerview 复杂布局_recyclerview复杂布局_flee92的博客-程序员秘密

这个吧我的头都搞痛了,哎!!先看布局这种类型于朋友圈的这样,最多9张至少一张的,刚开始决定每个大小size用不同的LinearLayoutmanager来实现,一个用1,两个就用gradmanager来实现,这类文字很多,因为这里的地址是网络地址传的是string,在自定义manager的时候发现,测量的高度始终为0,这样的话就无法显示图片,最后在本地使用一张图片,发现可以显示,那说明方法没有用错,最后就不得不放弃,另找一种方法。这个原因就花了一个下午的时间,因为时间紧,所以就换个写法。..

1.ODBC连接Postgresql_postgresql odbc_陨星落云的博客-程序员秘密

SQLDriverConnect 是 SQLConnect 的替代方法。它支持需要比 SQLConnect 中的三个参数更多的连接信息的数据源、对话框来提示用户输入所有连接信息,以及系统信息中未定义的数据源。

以太坊搭建私有链和部署智能合约_Wonderful_sky的博客-程序员秘密

以太坊搭建私有链和部署智能合约文章目录以太坊搭建私有链和部署智能合约1. 实验环境2. 以太坊安装2.1 安装相关组件2.2 安装及配置Golang环境2.3 克隆并编译geth2.4 安装及配置cmake环境2.5 防火墙2.6 时钟同步3. 私有链创世区块搭建4. 私有链节点加入5. 区块字段解释5.1 最新区块5.2 各个字段解释5.3 补充6. 日志输出解释(默认日志等级)6.1 挖矿...

推荐文章

热门文章

相关标签