在使用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”字样,就知道版本了.

OJDBC版本区别 [ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的区别]相关推荐

  1. oracle jdbc jar位置,Oracle JDBC ojdbc6 Jar作为Maven依赖项

    我似乎无法让Maven将ojdbc6.jar文件捆绑到项目的war文件中.直接为Hibernate工具指定依赖项时,我可以在POM文件中使用它.但是它不会与项目的war文件捆绑在一起,因此我的项目无法 ...

  2. Oracle 11g Java驱动包ojdbc6.jar安装到maven库,并查看jar具体版本号

    ojdbc6.jar下载 Oracle官方宣布的Oracle数据库11g的驱动jar包是ojdbc6.jar ojdbc6.jar下载地址:https://www.oracle.com/technet ...

  3. 11g java 驱动_Oracle 11g Java驱动包ojdbc6.jar安装到maven库,并查看jar具体版本号

    ojdbc6.jar下载 Oracle官方宣布的Oracle数据库11g的驱动jar包是ojdbc6.jar ojdbc6.jar下载地址:https://www.oracle.com/technet ...

  4. OJDBC版本区别 [ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的区别]

    classes12.jar,ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的区别,之间的差异 在使用Oracle JDBC驱动时,有些问题你是不是通过替换不同版本的Oracle  ...

  5. OJDBC驱动版本区别 [ojdbc14.jar,ojdbc5.jar跟ojdbc6.jar的区别]

    OJDBC版本区别 [ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的区别] 在使用Oracle JDBC驱动时,有些问题你是不是通过替换不同版本的Oracle  JDBC驱动来解 ...

  6. OJDBC版本【classes12.jar,ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的区别】

    classes12.jar,ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的区别,之间的差异 在使用Oracle JDBC驱动时,有些问题你是不是通过替换不同版本的Oracle  ...

  7. mysql gui tools ojdbc14.jar_[java]OJDBC版本区别 [ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的区别]

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

  8. mysql gui tools ojdbc14.jar_OJDBC版本区别 [ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的区别]

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

  9. ojdbc14jar是支持哪个版本数据库,OJDBC版本之间的区别都有哪些?

    OJDBC版本之间的区别 OJDBC版本区别 classes12.jar ,ojdbc14.jar ,ojdbc5.jar 和ojdbc6.jar ,ojdbc7.jar 的区别与差异 1. JDBC ...

最新文章

  1. 关于 element 的 backToTop
  2. 用INFORMATION_SCHEMA逻辑MySQL的索引
  3. 客户端页面不更新CSS样式或JS脚本的方法 (2018-08-17 17:33)
  4. 网站报错时,自动跳转到指定报错页(error.html)的办法
  5. 拼写校正与动态规划的小故事
  6. python自动输入账号密码_Python如何基于selenium实现自动登录博客园
  7. python接口自动化(三十三)-python自动发邮件总结及实例说明番外篇——下
  8. 从Word2Vec到Bert,聊聊词向量的前世今生(一)
  9. 01 ZooKeeper初探
  10. GAN里面的Kullback-Leibler Divergence和Jensen–Shannon Divergence
  11. linux自动加密软件开发,【天锐绿盾加密软件支持Linux_信息安全管理系统_文件自动加密_文档加密_图纸加密_网络实时监控_网络行为管理_内网安全的软件系统】免费在线试用_文档管理_选软件网...
  12. 网站访问慢?如何优化网站访问速度?
  13. 关于Android开发者的简历
  14. Boostnote:适合程序员的笔记软件
  15. 360n5s不打印日志 不同厂商手机系统日志抓取方法
  16. 周易六十四卦——山泽损卦
  17. 罗技 连点 脚本_轻松办公 如入无人之静 罗技MK295静音键鼠套装全球首发震撼上市...
  18. 运行Django项目报错解决,OSError: [WinError 123] 文件名、目录名或卷标语法不正确。
  19. 无线AP服务器维保内容及标准,无线AP系统维护保养规程规定
  20. 生活 生命 美丽 死亡

热门文章

  1. Qt 的QString类的使用
  2. 出块过程(2)nodeos 服务器接收消息
  3. 设计模式--门面(Facade)模式
  4. 关于浮点数在计算机内存中的存储
  5. armv8/arnv9的aarch64架构中系统寄存器的分类和总结
  6. [architecture]-ARMV7架构下Linux Kernel的Userspace进程切换时保存和恢复哪些寄存器
  7. [工具]-C语言实现:生成一个全是0x0的二进制文件
  8. FileLocatorPro正则表达式批量搜索文件中的字符串
  9. 使用vs2019编写dll
  10. 字符常量在C和C++中的区别