OJDBC版本区别 [ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的区别]
在使用Oracle JDBC驅(qū)動(dòng)時(shí),有些問題你是不是通過替換不同版本的Oracle JDBC驅(qū)動(dòng)來解決的?最常使用的ojdbc14.jar有多個(gè)版本,classes12.jar有多個(gè)版本你了解嗎?
連接類型:
- 1、JDBC OCI: oci是oracle call interface的縮寫,此驅(qū)動(dòng)類似于傳統(tǒng)的ODBC 驅(qū)動(dòng)。因?yàn)樗枰狾racle Call Interface and Net8,所以它需要在運(yùn)行使用此驅(qū)動(dòng)的JAVA程序的機(jī)器上安裝客戶端軟件,其實(shí)主要是用到orcale客戶端里以dll方式提供的oci和服務(wù)器配 置。
- 2、JDBC Thin: thin是for thin client的意思,這種驅(qū)動(dòng)一般用在運(yùn)行在WEB瀏覽器中的JAVA程序。它不是通過OCI or Net8,而是通過Java sockets進(jìn)行通信,是純java實(shí)現(xiàn)的驅(qū)動(dòng),因此不需要在使用JDBC Thin的客戶端機(jī)器上安裝orcale客戶端軟件,所以有很好的移植性,通常用在web開發(fā)中。
隨Oracle 8i發(fā)布的Oracle JDBC驅(qū)動(dòng)8.1.7版本
classes111.zip 適用于JDK 1.1.x classes12.zip 適用于JDK 1.2.x只有zip文件,無jar文件。
隨Oracle 9i發(fā)布的Oracle JDBC驅(qū)動(dòng)9.2.0版本
classes111.jar 適用于JDK 1.1.x classes12.jar 適用于JDK 1.2 and JDK 1.3 (我的項(xiàng)目環(huán)境JDK1.6,oracle 10g,windows,用了這個(gè)目前沒發(fā)現(xiàn)問題) ojdbc14.jar 適用于JDK 1.4 classes111.zip 適用于JDK 1.1.x classes12.zip 適用于JDK 1.2.x***_g.jar 只是用javac -g編譯,生成所有調(diào)試信息,其它全一樣
新特性:
- 1、Thin連接類型的驅(qū)動(dòng)對(duì)BFILE,BLOB,CLOB 提供直接支持,以前通常是調(diào)用PL/SQL來實(shí)現(xiàn)。
- 2、支持JDBC 3.0 特性
- 3、ojdbc14.jar 支持JDK 1.4
- 4、ojdbc14.jar 支持保存點(diǎn)(Savepoint)
- 5、可以在不同的連接池中使用PreparedStatement,這是重要的性能提升
從此以后新的jar文件的命名采用 ojdbc<jdk ver>.jar 格式 ,以前的jar文件名稱不變
隨Oracle 10.2發(fā)布的Oracle JDBC驅(qū)動(dòng)10.2版本
classes12.jar 適用于JDK 1.2 and JDK 1.3. ojdbc14.jar 適用于 JDK 1.4 and 5.0***_g.jar 只是用javac -g編譯,生成所有調(diào)試信息,其它全一樣
特點(diǎn):
- 1、全面支持JDK 1.5
- 2、支持JDBC 3.0
隨Oracle 11.1發(fā)布的Oracle JDBC驅(qū)動(dòng)11.1版本
ojdbc5.jar: 適用于jdk5 ojdbc6.jar: 適用于jdk6 (如果你使用jdk1.5,就不能使用這個(gè)驅(qū)動(dòng))***_g.jar 只是用javac -g編譯,生成所有調(diào)試信息,其它全一樣
新特性:
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開始的每個(gè)release都推薦使用oracle.jdbc。
3、j2se 1.2,1.3,1.4不再支持。11R1不再包括這些版本的jar和zip,如果仍然使用這些版本,可以繼續(xù)使用10gR2的jdbc。
4、11gR1 Thin driver支持AES加密算法,SHA1 hash算法,RADIUS, KERBEROS,SSL認(rèn)證機(jī)制.
5、支持ANYDATE和ANYTYPE類型。這兩種類型自9i引入,11R1前,程序員只能通過PL/SQL操作。
6、高級(jí)隊(duì)列支持。11R1提供了訪問AQ的高性能接口。
7、支持?jǐn)?shù)據(jù)庫變更通知。
8、Thin和OCI的數(shù)據(jù)庫啟動(dòng)和關(guān)閉。11R1提供了這樣的方法來啟動(dòng)和關(guān)閉數(shù)據(jù)庫。
9、新的工廠方法。Oracle JDBC 11R1 oracle.jdbc.OracleConnection提供了創(chuàng)建Oracle對(duì)象的工廠方法。包括ARRAY, BFILE, DATE, INTERVALDS, NUMBER, STRUCT, TIME,TIMESTAMP,TIMESTAMP等。
總體講新版本的JDBC驅(qū)動(dòng) 性能強(qiáng)、很多bug被發(fā)現(xiàn)并已解決。
我遇到的,之前使用ojdbc14.jar(不記得哪個(gè)版本了)批量插入10萬條,實(shí)際只插入了3萬多條,其它的丟失了,換ojdbc6.jar后,一次commit批量插入100萬條也OK了。
盡量使用和數(shù)據(jù)庫版本一致的驅(qū)動(dòng),有bug時(shí),換高版本的JDBC驅(qū)動(dòng)試試 。
如果一個(gè)jdbc的jar包你不知道是那個(gè)版本的,可以解壓這個(gè)jar包,再M(fèi)ETA-INF\MANIFEST.MF 文件中找”O(jiān)racle JDBC Driver version - 10.1.0.2.0”字樣,就知道版本了.
總結(jié)
以上是生活随笔為你收集整理的OJDBC版本区别 [ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的区别]的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle隐式游标和显式游标
- 下一篇: 【版本工具】Git-浅谈git命令