Oracle JDBC:驅動版本區別與區分 [轉]

来源:http://www.cnblogs.com/f1194361820/archive/2017/12/07/7999987.html
-Advertisement-
Play Games

classes12.jar,ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的區別,之間的差異 在使用Oracle JDBC驅動時,有些問題你是不是通過替換不同版本的Oracle JDBC驅動來解決的?最常使用的ojdbc14.jar有多個版本,classes12.jar有多個版本 ...


 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"字樣,就知道版本了


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本節學習目的 1)分析printk()函數 2)使用printk()調試驅動 1.在驅動調試中,使用printk(),是最簡單,最方便的辦法 當uboot的命令行里的“console=tty1”時,表示printk()輸出在開發板的LCD屏上 當uboot的命令行里的“console=ttySA0, ...
  • --Oracle中的複合查詢 複合查詢:包含集合運算(操作)的查詢 常見的集合操作有: union: 兩個查詢的並集(無重覆行、按第一個查詢的第一列升序排序) union all:兩個查詢的並集(有重覆行) intersect:兩個查詢的交集(無重覆行、按第一個查詢的第一列升序排序) minus: ... ...
  • --null的原理 --oracle一直將null和空字元串’’同等對待 --1.null的運算 --算術表達式和null 運算總為null,實際上所有的操作符除了||連接操作符外,只要有一個操作符為null,則結果為null。 --------------------------------nul... ...
  • 逝者如斯夫,不捨晝夜 所有的SQL都經過測試,可粘貼,可複製,有問題請各位大神指出...... 後續,會有視圖和索引,以及存儲過程的文章,客官們不要著急,耐心等待......... ...
  • 一、什麼是同義詞 同義詞是先有對象的別名,主要作用是簡化SQL語句、隱藏對象的名稱和所有者、提供對對象的公共訪問。同義詞共有兩種類型,分別是公有同義詞和私有同義詞;公有同義詞可以被所有的資料庫用戶訪問,私有同義詞只能在當前用戶模式下訪問,且不能與當前用戶內的對象或者同義詞同名。Oracle用戶想要創 ...
  • 一、控制流 從接觸 面向過程語言 開始,使用控制流編程的概念已是司空見慣。 分支 和 迴圈 是最常見的控制流形式。由於控制條件的存在,總有一部分代碼片段會執行,另一部分不會執行。 在控制流中,想要進行數據傳遞,最關鍵的是藉助於 變數 保存中間狀態。因此,控制流編程看起來是 將數據嵌套在控制流內 的編 ...
  • 一、簡介 Microsoft SQL Server 2005之後,實現了對 Microsoft .NET Framework 的公共語言運行時(CLR)的集成。CLR 集成使得現在可以使用 .NET Framework 語言編寫代碼,從而能夠在 SQL Server 上運行,現在就可以通過 C# 來 ...
  • 問題描述 有表一 tableA tid username title 1 lily 我公司將進行xx培訓 2 angus 關於秋游的通知 3 boss 這個月不發獎金 4 vivi 新產品上市 表二 tableB tid time txt 1 0809 大家快來。。。。 2 0810 我是新來的,大 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...