OJDBC版本【classes12.jar,ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的区别】_class12.jar和ojdbc.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

智能推荐

JavaScript 常用的转义字符_js中空格的转义字符-程序员宅基地

文章浏览阅读3.7k次。常用的转义字符,需要写在字符串中\n:换行,newline\\:\ 斜杠\':'\":"\t:tab缩进\b:空格,blank_js中空格的转义字符

sox处理mp3_sox的常用方法-程序员宅基地

文章浏览阅读793次。sox是一个强大的音频处理工具,Debian的sox包里包含几个有用工具,play,rec,sox,soxi。play用于播放音频,可以播放一些常见格式的音频(mp3由于版权问题默认不支持)。最特别的地方是他可以播放原始音乐文件(raw),通过以下选项来控制播放参数:-r 抽样数,单位赫兹-c channels,通道数-b 每个抽样的比特数-e 指定音频文件的编码方式,可用的编码方式如下signe..._sox/play

RabbitMQ安装遇到的问题(转载)_no package socat available.-程序员宅基地

文章浏览阅读3.9w次,点赞5次,收藏10次。转载 引自:RabbitMQ(二)CentOS6.7 下的 HelloWorld前一篇写了在Windows下的安装使用,这次记录下CentOS6.7下的安装使用.其实在CentOS下和Windows下过程是一样的,都是 先安装Erlang环境,再安装RabbitMQ Server.只不过CentOS下经常遇到各种问题,所以感觉上麻烦点.版本是 CentO_no package socat available.

VS2008安装过程中出现1330错误,CAB文件已损坏,数字签名不可用_错误1330由于cab文件,数字签名无效,返回错误24581-程序员宅基地

文章浏览阅读1w次。问题:VS2008安装过程中出现1330错误,CAB文件已损坏,数字签名不可用。解决:在注册表中,HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\WinTrust\Trust Providers\Software Publishing\State 的值由 0x23c00 改为 0x22800,关闭文件数字签名验证_错误1330由于cab文件,数字签名无效,返回错误24581

软件项目管理经验点滴总结_软件项目管理常见问题-程序员宅基地

文章浏览阅读2.3w次,点赞4次,收藏37次。一、研究背景   在这几年的软件项目管理中,一些失败的软件项目给我留下了深刻的印象。后来,我们结合项目管理的知识(参加了信产部《集成系统项目经理》的培训及美国PMP项目管理的学习),开始反思,吸取教训,总结经验,并根据公司的实际情况,结合PMP的五大过程九个知识领域及CMMI的相关要求适当裁减进行项目管理,顺利完成了上海浦东国际机场、青岛流亭国际机场、武汉天河国际机场等国_软件项目管理常见问题

Linux安装Oracle 19c_linux安装oracle19c-程序员宅基地

文章浏览阅读1.3w次,点赞8次,收藏83次。1.在root目录下,执行命令yum -y localinstall oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm,进行Oracle19c的预安装,等待安装完成。2.在root目录下,执行命令yum -y localinstall oracle-database-ee-19c-1.0-1.x86_64.rpm,输入数据库语句确认数据库语句可以正常执行,1.下载安装包oracle-database-ee-19c-1.0-1.x86_64.rpm。_linux安装oracle19c

随便推点

天津大学计算机学院课表,天津大学软件实践1汇编语言课程教学大纲-天津大学计算机学院.PDF...-程序员宅基地

文章浏览阅读296次。天津大学软件实践1汇编语言课程教学大纲-天津大学计算机学院天津大学《软件实践 1(汇编语言)》课程教学大纲软件实践1(汇编课程编号: 2160276 课程名称:语言)学 时: 40 学 分: 2学时分配: 授课: 上机: 实验: ..._天津大学计算机课程表

Using CAR for Smurf Attack Mitigation,使用承诺速率控制预防smurf攻击-程序员宅基地

文章浏览阅读212次。【实验说明】配置路由器保护内部网络免受Smurf 攻击【smurf攻击】Smurf攻击以最初发动这种攻击的程序名“Smurf”来命名的。攻击的过程是这样的:Woodlly 攻击者向一个具有大量主机和因特网连接的网络的广播地址发送一个欺骗性Ping分组(echo 请求),这个目标网络被称为反弹站点,而欺骗性Ping分组的源..._attack mitigation using hmac

Android自定义进度条——圆角横向进度条_android 自定义圆角进度条-程序员宅基地

文章浏览阅读8.1k次,点赞5次,收藏14次。Android自定义进度条——圆角横向进度条1.本文将向你介绍自定义进度条的写法,比较简单,但还是有些知识点是需要注意的:invalidate()方法RectF方法的应用onMeasure方法的应用2.原理 画3层圆角矩形,底层为黑色,第二层为灰色,最上一层为进度条颜色,示例图如下: 3.效果图 实现圆角进度条还有很多其他方法,比如在Progress控件里填充圆角图片,通过拉伸图片_android 自定义圆角进度条

基于javaweb SSM邮件收发信息系统设计和实现以及文档_邮件收发系统的设计与实现ssm后端开发-程序员宅基地

文章浏览阅读1.1w次,点赞8次,收藏31次。基于javaweb SSM邮件收发信息系统(数据库+源码+论文)实现了对登录、注册、邮件收发消息和通讯录添加以及草稿箱和个人设置模块的代码编写和效果实现_邮件收发系统的设计与实现ssm后端开发

rocksdb和leveldb性能比较——写性能-程序员宅基地

文章浏览阅读3.8k次。前面学习了一下rocksdb,这个db是对leveldb的一个改进,是基于leveldb1.5的版本上的改进,而且leveldb1.5以后也在不断的优化,下面从写入性能对两者进行对比。前言比较的leveldb的版本是1.18,rocksdb的版本是3.10.1.在比较的时候需要将leveldb和rocksdb的参数调成一样的,本文的参数为,memtable 4M,最多2个me..._rocksdb leveldb对比

Linux网络服务--PXE高效批量网络装机详解(PXE远程安装与kickstart无人值守安装)_pxe多张网卡-程序员宅基地

文章浏览阅读1.2k次。PXE批量网络装机的构建过程详解Kickstart无人值守安装的构建过程详解_pxe多张网卡