OJDBC版本區別


classes12.jar,ojdbc14.jar,ojdbc5.jar和ojdbc6.jar,ojdbc7.jar的區別與差異

【轉 原文:https://yq.aliyun.com/wenji/241832】部分修改 重新排版

  在使用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開發中。

二、對應版本

1.【Oracle 8i 】發布的Oracle JDBC驅動8.1.7版本

  【classes111.zip】 適用於JDK 1.1.x
  【classes12.zip】   適用於JDK 1.2.x
    只有zip文件,無jar文件。

 

2.【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文件名稱不變

 

3.【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編譯,生成所有調試信息,其它全一樣

特點

①、全面支持JDK 1.5
②、支持JDBC 3.0

 

4.【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等。

 

5.【Oracle 數據庫 12 c 版 1 (12.1.0.2)】 的 JDBC 驅動程序

【ojdbc7.jar】   適用於jdk7
【ojdbc6.jar:】  適用於jdk6 (如果你使用jdk1.6,就不能使用這個驅動,否則無法識別)
***_g.jar 只是用javac -g編譯,生成所有調試信息,其它全一樣

為1.7的jdk准備的

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

總體講新版本的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"字樣,就知道版本了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM