ojdbc版本區別
OJDBC版本區別
轉自:http://tiantian0521.blog.163.com/blog/static/4172088320117294265766/
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"字樣,就知道版本了
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29519108/viewspace-2133347/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- django版本區別Django
- maven缺失ojdbc6解決方法(手動安裝ojdbc6)MavenJDBC
- CentOS7.9個版本區別CentOS
- SQL Server新老版本CE區別SQLServer
- win10版本區別是什麼_win10版本區別在哪裡Win10
- win10版本的區別是什麼 win10版本區別對照表Win10
- hadoop發行版本之間的區別Hadoop
- SOLIDWORKS各版本間有什麼區別?Solid
- 聊聊Spring Boot幾個版本的區別Spring Boot
- Vue原始碼探究-構建版本的區別Vue原始碼
- Git與其他版本控制系統的區別Git
- Spring 各版本釋出時間與區別Spring
- PEP8風格和python版本區別Python
- Linux哪個版本好?各個版本之間有什麼區別?Linux
- win10有幾個版本?哪個版本最好_windows10各版本區別對比Win10Windows
- Linux發行版本分為幾類?各版本之間有什麼區別?Linux
- 【Python】pyenv的版本控制及global、shell、local命令區別Python
- Linux系統常見的發行版本以及區別!Linux
- Linux系統常用的版本有哪些?有何區別呢?Linux
- Python2.x與3.x版本有哪些主要的區別?Python
- CentOS和Ubuntu有什麼區別?選擇Linux哪個版本好?CentOSUbuntuLinux
- OPPO Find X三版本區別對比 OPPO Find X三版本哪個好?
- 學Python用哪個版本?Python3和Python2有何區別?Python
- 學Python用哪個版本?Python2與Python3有何區別?Python
- 和區別
- #include <> ““區別
- 堅果R1旗艦手機四版本區別對比
- 新手學python哪個版本好?Python2與Python3有何區別?Python
- 不同JDK版本之間的intern()方法的區別-JDK6 VS JDK6+JDK
- __weak與__block區別,深層理解兩者區別BloC
- LinkedList和ArrayList的區別、Vector和ArrayList的區別
- http和https的區別/get和post的區別HTTP
- 魅族15/15 Plus/M15區別對比 魅族15有幾個版本?
- 學Linux選擇哪個版本?centos7和centos6區別是什麼?LinuxCentOS
- MyISAM InnoDB 區別
- simulink模式區別模式
- ||和??的區別
- /*和/**的區別
- save() create()區別