大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 一文了解JDBC驅動程序

一文了解JDBC驅動程序

更新時間:2021-10-25 11:23:12 來源:動力節點 瀏覽1286次

一個JDBC驅動程序是一個軟件組件使得Java的應用程序與互動數據庫。JDBC 驅動程序類似于ODBC 驅動程序、ADO.NET 數據提供程序和OLE DB 提供程序。

一文了解JDBC驅動程序

要連接單個數據庫,JDBC(Java 數據庫連接API)需要每個數據庫的驅動程序。JDBC 驅動程序發出與數據庫的連接,并實現在客戶端和數據庫之間傳輸查詢和結果的協議。

JDBC 技術驅動程序屬于四類之一。

JDBC-ODBC 橋接

本機 API 驅動程序

網絡協議驅動程序(中間件驅動程序)

數據庫協議驅動程序(純 Java 驅動程序)或瘦驅動程序。

類型 1 驅動程序 – JDBC-ODBC 橋

JDBC 1 類驅動程序,也稱為JDBC-ODBC 橋接器,是一種數據庫驅動程序實現,它使用ODBC驅動程序連接到數據庫。驅動程序將 JDBC 方法調用轉換為 ODBC 函數調用。

該驅動程序,因為它利用ODBC的這又依賴于底層的本地庫依賴于平臺的操作系統的JVM是在運行。此外,使用此驅動程序會導致其他安裝依賴項;例如,安裝了該驅動程序的計算機上必須安裝ODBC,并且數據庫必須支持ODBC 驅動程序。如果有純 Java 驅動程序的替代品可用,則不鼓勵使用此驅動程序。另一個含義是,鑒于驅動程序和平臺之間的綁定,使用類型 1 驅動程序的任何應用程序都是不可移植的。該技術不適合高交易環境。類型 1 驅動程序也不支持完整的 Java 命令集,并且受到 ODBC 驅動程序功能的限制。

Sun(現在是 Oracle)提供了一個 JDBC-ODBC 橋驅動程序:sun.jdbc.odbc.JdbcOdbcDriver. 此驅動程序是本機代碼而不是 Java,并且是封閉源代碼。Sun 的/Oracle 的 JDBC-ODBC Bridge 在 Java 8 中被刪除(其他供應商的可用)。

如果已編寫驅動程序以便加載它會導致創建一個實例并DriverManager.registerDriver使用該實例作為參數進行調用,則它位于 DriverManager 的驅動程序列表中并可用于創建連接。

有時可能會出現多個 JDBC 驅動程序能夠連接到給定 URL 的情況。例如,當連接到給定的遠程數據庫時,可以使用 JDBC-ODBC 橋驅動程序、JDBC-to-generic-network-protocol 驅動程序或數據庫供應商提供的驅動程序。在這種情況下,測試驅動程序的順序很重要,因為 DriverManager 將使用它找到的第一個可以成功連接到給定 URL 的驅動程序。

首先,DriverManager 嘗試按照注冊的順序使用每個驅動程序。(jdbc.drivers 中列出的驅動程序總是首先注冊。)它將跳過任何不受信任的代碼的驅動程序,除非它們是從與嘗試打開連接的代碼相同的源加載的。

它通過依次調用每個驅動程序的 Driver.connect 方法來測試驅動程序,并將用戶最初傳遞給方法的 URL 傳遞給它們DriverManager.getConnection。識別 URL 的第一個驅動程序建立連接。

優點

幾乎任何安裝了 ODBC 驅動程序的數據庫都可以訪問,并且可以檢索數據。

缺點

性能開銷,因為調用必須通過 JDBC(java 數據庫連接)橋接至 ODBC(開放數據庫連接)驅動程序,然后到達本機數據庫連接接口(因此可能比其他類型的驅動程序慢)。

需要在客戶端計算機上安裝 ODBC 驅動程序。

不適合小程序,因為客戶端需要安裝ODBC驅動。

特定的 ODBC 驅動程序并不總是適用于所有平臺;因此,此驅動程序的可移植性受到限制。

JDK 1.8 (Java 8) 不支持。

類型 2 驅動程序 – 本機 API 驅動程序

JDBC 類型 2 驅動程序,也稱為Native-API 驅動程序,是一種使用數據庫客戶端庫的數據庫驅動程序實現。驅動程序將JDBC方法調用轉換為數據庫 API 的本機調用。例如:Oracle OCI 驅動程序是類型 2 驅動程序。

優點

由于沒有 JDBC-ODBC 橋的實現,它可能比 Type 1 驅動程序快得多。

缺點

需要在客戶端計算機上安裝供應商客戶端庫。

并非所有數據庫都有客戶端庫。

此驅動程序依賴于平臺。

此驅動程序支持除小程序以外的所有 Java 應用程序。

類型 3 驅動程序 – 網絡協議驅動程序(中間件驅動程序)

JDBC 類型 3 驅動程序,也稱為數據庫中間件的純 Java 驅動程序,是一種數據庫驅動程序實現,它利用調用程序和數據庫之間的中間層。中間層(應用程序服務器)將JDBC調用直接或間接轉換為特定于供應商的數據庫協議。

這與類型 4 驅動程序的不同之處在于協議轉換邏輯不在客戶端,而是在中間層。與類型 4 驅動程序一樣,類型 3 驅動程序完全用 Java 編寫。

同一個客戶端 JDBC 驅動程序可以用于多個數據庫。這取決于中間件配置為支持的數據庫數量。類型 3 驅動程序與平臺無關,因為與平臺相關的差異由中間件處理。此外,利用中間件提供了額外的安全和防火墻訪問優勢。

函數

將 JDBC API 調用發送到中間層網絡服務器,該服務器將調用轉換為 DBMS 特定的網絡協議。然后將轉換后的調用發送到特定的 DBMS。

遵循三層通信方法。

可以連接到多個數據庫——不是特定于供應商的。

用 java 編寫的 JDBC Client 驅動程序使用獨立于數據庫的協議與中間件網絡服務器通信,然后該網絡服務器將此請求轉換為該數據庫的數據庫命令。

因此,客戶端驅動程序與中間件通信是獨立于數據庫的。

優點

由于客戶端和中間件服務器之間的通信是獨立于數據庫的,因此客戶端上不需要數據庫供應商庫。無需為新數據庫更改客戶端。

中間件服務器(可以是成熟的 J2EE 應用程序服務器)可以提供典型的中間件服務,如緩存(連接、查詢結果等)、負載平衡、日志記錄和審計。

單個驅動程序可以處理任何數據庫,前提是中間件支持它。

例如:IDA 服務器

缺點

需要在中間層完成特定于數據庫的編碼。

添加的中間件層可能會導致額外的延遲,但通??梢酝ㄟ^使用更好的中間件服務來克服。

類型 4 驅動程序 – 數據庫協議驅動程序/瘦驅動程序(純 Java 驅動程序)

JDBC 類型 4 驅動程序,也稱為 Direct to Database Pure Java Driver,是一種數據庫驅動程序實現,可將JDBC調用直接轉換為特定于供應商的數據庫協議。

4 類驅動程序完全用Java編寫,因此與平臺無關。它們安裝在客戶端的Java 虛擬機中。這提供了比類型 1 和類型 2 驅動程序更好的性能,因為它沒有將調用轉換為 ODBC 或數據庫 API 調用的開銷。與類型 3 驅動程序不同,它不需要相關軟件即可工作。

由于數據庫協議是特定于供應商的,JDBC 客戶端需要單獨的驅動程序(通常由供應商提供)來連接到不同類型的數據庫。

優點

完全用Java實現以實現平臺獨立性。

這些驅動程序不會將請求轉換為中間格式(例如 ODBC)。

客戶端應用程序直接連接到數據庫服務器。不使用翻譯或中間件層,提高了性能。

JVM 可以管理應用程序到數據庫連接的所有方面;這樣可以方便調試。

缺點

驅動程序是特定于數據庫的,因為不同的數據庫供應商使用廣泛不同的(通常是專有的)網絡協議。

如果大家想了解更多相關知識,不妨來關注一下動力節點的Java在線學習,里面有更豐富的內容在等著大家學習,相信對大家會有所幫助的。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 午夜视频网站在线观看 | 黄色综合网| 性欧美xo视频在线观看 | 欧美日韩第三页 | 国产大片免费观看中文字幕 | 国产91av视频 | 国产欧美日韩精品一区二区三区 | 狠狠躁夜夜躁人人爽天天天天 | 亚洲欧美韩日 | 日韩欧美国产高清 | 成人欧美一区二区三区黑人妖 | 一本伊人| 久草精品免费 | 久久69| 午夜视频网 | 久久r视频| 亚洲成人第一页 | 狠狠色噜噜狠狠狠狠97影音先锋 | 中文字幕视频一区 | 久久男女| 亚洲美女操 | 在线播放69热精品视频 | 天天爽天天 | 欧美在线观看高清一二三区 | 亚洲精品国产福利在线观看 | www.草草草 | 欧美中文字幕在线视频 | 最新精品在线 | 亚洲va国产va欧美va综合 | 精品一区二区三区免费爱 | 久久国产欧美 | 伊人一本之道 | 青青国产成人久久激情911 | 91伊人影院| 玖玖在线视频 | 天天艹日日干 | a级毛片毛片免费观看久潮 a级毛片免费 | 亚洲色吧 | 天天操操操操操操 | 久久996re热这里有精品 | 亚洲性一区 |