JDBC 驅動類型

jdbc 驅動類型

什么是jdbc驅動程序?jdbc 驅動程序實現(xiàn)了 jdbc api 中定義的接口,用于與數(shù)據(jù)庫服務器進行交互。

例如,使用 jdbc 驅動程序可以打開數(shù)據(jù)庫連接,并通過發(fā)送 sql 或數(shù)據(jù)庫命令,然后在收到結果與 java 進行交互。

java.sql 包中附帶的 jdk 包含定義各種類與他們的行為和實際實現(xiàn)在第三方驅動程序。第三方供應商實現(xiàn)了他們的數(shù)據(jù)庫驅動程序的 java.sql.driver 接口。

jdbc 驅動程序的實現(xiàn),因為操作系統(tǒng) 和 java 運行的硬件平臺的不同而不同,共劃分為四大類。

 

1. jdbc-odbc橋 驅動程序

jdbc 橋接器用來訪問安裝在每個客戶機上的 odbc 驅動程序。使用 odbc,需要配置系統(tǒng)數(shù)據(jù)源名稱(dsn),表示在目標數(shù)據(jù)庫上。

當java 剛出來時,這是一個有用的驅動程序,因為大多數(shù)的數(shù)據(jù)庫只支持 odbc 訪問,但現(xiàn)在建議使用此類型的驅動程序僅用于實驗用途或在沒有其他選擇的情況。

 

2. jdbc-native api 調用

jdbc api調用轉換成原生的 c / c++ api 調用都有它獨特的數(shù)據(jù)庫。這些通常由數(shù)據(jù)庫廠商提供,并以相同的方式將jdbc-odbc橋驅動程序使用,特定供應商的驅動程序必須安裝在每臺客戶機上。

如果改變了數(shù)據(jù)庫,那么必須改變本機 api,因為它是具體到一個數(shù)據(jù)庫,他們大多是過時了,但現(xiàn)在可以實現(xiàn)一些速度增加了類型2驅動程序,因為它消除了數(shù)據(jù)庫的開銷。

oracle 調用接口(oci)驅動程序就是一個示例。

 

3. jdbc 網絡純 java

在類型3驅動程序,一個三層的方法來訪問數(shù)據(jù)庫。在jdbc客戶端使用標準的網絡套接字與中間件應用服務器進行通信。套接字的相關信息,然后由中間件應用服務器進入由dbms所需要的的調用格式轉換,并轉發(fā)到數(shù)據(jù)庫服務器。

這種驅動器是非常靈活的,因為它不需要安裝在客戶端上的代碼和一個單一的驅動器實際上可以提供訪問多個數(shù)據(jù)庫。

可以將應用服務器作為一個jdbc“代理”,這意味著它會調用客戶端應用程序。因此,需要應用服務器的配置,以有效地使用此驅動程序類型的一些知識。

應用服務器可能使用類型1,2,或4驅動程序與數(shù)據(jù)庫進行通信,了解細微之處將證明是有益的。

 

4. 100% 純 java

直接與供應商的數(shù)據(jù)庫進行通信,通過 socket連接一個純粹的基于 java 的驅動程序。這是可用于數(shù)據(jù)庫的最高性能的驅動程序,并且通常由供應商本身提供。

這種驅動器是非常靈活的,不需要在客戶端或服務器上安裝特殊的軟件。

mysql 的 connector/j 的驅動程序是一個本類型的驅動程序。因為他們的網絡協(xié)議的專有性的,數(shù)據(jù)庫廠商通常提供本類型的驅動程序。

 

5. 四種驅動器的使用場景

類型1驅動程序不被認為是部署級別的驅動程序,它通常僅用于開發(fā)和測試目的。

如果正在訪問一個類型的數(shù)據(jù)庫,如oracle,sybase或ibm,首選驅動程序是類型4。

如果java應用程序同時訪問多個數(shù)據(jù)庫類型,類型3是首選的驅動程序。

第2類驅動程序是在情況下:類型3或類型4驅動程序還沒有提供數(shù)據(jù)庫非常有用。

相關文章
亚洲国产精品第一区二区,久久免费视频77,99V久久综合狠狠综合久久,国产免费久久九九免费视频