Oracle的JDBC驅動的版本你瞭解嗎?

classes12.jar,ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的區別,之間的差別html

   

在使用Oracle JDBC驅動時,有些問題你是否是經過替換不一樣版本的Oracle  JDBC驅動來解決的?最常使用的ojdbc14.jar有多個版本,classes12.jar有多個版本你瞭解嗎?java

 

鏈接類型:
一、JDBC OCI: oci是oracle call interface的縮寫,此驅動相似於傳統的ODBC 驅動。由於它須要Oracle Call Interface and Net8,因此它須要在運行使用此驅動的JAVA程序的機器上安裝客戶端軟件,其實主要是用到orcale客戶端裏以dll方式提供的oci和服務器配置。
二、JDBC Thin: thin是for thin client的意思,這種驅動通常用在運行在WEB瀏覽器中的JAVA程序。它不是經過OCI or Net8,而是經過Java sockets進行通訊,是純java實現的驅動,所以不
須要在使用JDBC Thin的客戶端機器上安裝orcale客戶端軟件,因此有很好的移植性,一般用在web開發中。程序員

 

 -------------------------------------------------------------------------------web

隨Oracle 8i發佈的Oracle JDBC驅動8.1.7版本
classes111.zip 適用於JDK 1.1.x
classes12.zip  適用於JDK 1.2.x
只有zip文件,無jar文件。
算法

 

 

 -------------------------------------------------------------------------------sql

隨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
windows

***_g.jar 只是用javac -g編譯,生成全部調試信息,其它全同樣瀏覽器

 

 

新特性:
一、Thin鏈接類型的驅動對BFILE,BLOB,CLOB 提供直接支持,之前一般是調用PL/SQL來實現。
二、支持JDBC 3.0 特性
三、ojdbc14.jar 支持JDK 1.4
四、ojdbc14.jar 支持保存點(Savepoint)
五、能夠在不一樣的鏈接池中使用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編譯,生成全部調試信息,其它全同樣

 

特色:

一、全面支持JDK 1.5
二、支持JDBC 3.0


 

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

隨Oracle 11.1發佈的Oracle JDBC驅動11.1版本

ojdbc5.jar:   適用於jdk5
ojdbc6.jar:   適用於jdk6 (若是你使用jdk1.5,就不能使用這個驅動)
***_g.jar 只是用javac -g編譯,生成全部調試信息,其它全同樣

 

 

 

新特性:
一、ojdbc6.jar:支持JDK6,支持JDBC 4.0,新的java.sql.SQLXML類型沒有被支持。

    ojdbc5.jar:全面支持使用JDK5 和 JDBC 3.0 。
二、建議使用oracle.jdbc.OracleDriver類,不建議使用oracle.jdbc.driver.OracleDriver。從9.0.1開始的每一個release都推薦使用oracle.jdbc。

三、j2se 1.2,1.3,1.4再也不支持。11R1再也不包括這些版本的jar和zip,若是仍然使用這些版本,能夠繼續使用10gR2的jdbc。
四、11gR1 Thin driver支持AES加密算法,SHA1 hash算法,RADIUS, KERBEROS,SSL認證機制.
五、支持ANYDATE和ANYTYPE類型。這兩種類型自9i引入,11R1前,程序員只能經過PL/SQL操做。
六、高級隊列支持。11R1提供了訪問AQ的高性能接口。
七、支持數據庫變動通知。
八、Thin和OCI的數據庫啓動和關閉。11R1提供了這樣的方法來啓動和關閉數據庫。
九、新的工廠方法。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

相關文章
相關標籤/搜索