English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

JDBC 驅動程序類型

Cos'è un driver JDBC?

I driver JDBC implementano gli interfacce definiti nell'API JDBC per interagire con il server del database.

Ad esempio, utilizzando il driver JDBC, è possibile aprire una connessione al database e interagire con esso inviando comandi SQL o database in Java e ricevendo i risultati.

Incluso nel JDK Java.sql Il pacchetto contiene vari classi che definiscono il loro comportamento e la loro implementazione effettiva è completata nei driver di terze parti. I fornitori di terze parti implementano java.sql.Driver Interfaccia.

Tipi di driver JDBC

L'implementazione dei driver JDBC varia a seconda dei vari sistemi operativi e piattaforme hardware su cui Java viene eseguito. Sun ha classificato le implementazioni in quattro tipi, ossia tipo 1, 2, 3 e 4, che saranno spiegati di seguito.

Tipo 1: Driver bridge JDBC-ODBC

Nel driver Type 1, il bridge JDBC viene utilizzato per accedere ai driver ODBC installati su ogni computer client. Per utilizzare ODBC, è necessario configurare sul sistema il nome del data source (DSN) che rappresenta il database di destinazione.

Quando Java è stato introdotto per la prima volta, era un driver utile perché la maggior parte dei database supportava solo l'accesso ODBC, ma ora si consiglia di utilizzare questo tipo di driver solo per scopi sperimentali o in assenza di altri metodi disponibili.

Il bridge JDBC-ODBC incluso nel JDK 1.2 è un ottimo esempio di questo tipo di driver.

Tipo 2: JDBC-Native API

Nel driver Type 2, le chiamate API JDBC vengono convertite in chiamate API nativa C / C ++ specifiche del database. Questi driver sono solitamente forniti dai fornitori del database e utilizzati nello stesso modo del bridge JDBC-ODBC. I driver specifici del fornitore devono essere installati su ogni computer client.

Se si cambia il database, è necessario modificare l'API nativa, poiché è specifica del database e ora è obsoleta, ma l'uso del driver Type 2 può migliorare la velocità perché elimina i costi di ODBC.

Oracle Call Interface (OCI) è un esempio di driver Type 2.

Tipo 3: Java JDBC-Net

Nel driver Type 3, si utilizza un metodo a tre strati per accedere al database. Il client JDBC utilizza socket di rete standard per comunicare con il server applicativo di middleware. Poi, le informazioni del socket vengono convertite dal server applicativo di middleware nel formato di chiamata richiesto dal DBMS e trasmesse al server del database.

這種驅動程序非常靈活,因為它不需要在客戶端上安裝任何代碼,並且單個驅動程序實際上可以提供對多個數據庫的訪問。

您可以把應用程序服務器視為JDBC '代理',這意味著它對客戶端應用程序進行調用。因此,您需要一些有關應用程序服務器配置的知識,以便有效地使用此驅動程序類型。

您的應用程序服務器可能使用1、2或4型驅動程序與數據庫進行通信,了解細微差別將被證明是有幫助的。

類型4:純Java

在Type 4驅動程序中,基於Java的純驅動程序通過套接字連接直接與供應商的數據庫通信。這是可用於數據庫的性能最高的驅動程序,通常由供應商本身提供。

這種驅動程序非常靈活,您無需在客戶端或服務器上安裝特殊的軟件。此外,可以動態下載這些驅動程序。

MySQL的 Connector/J 驅動程序是Type 4驅動程序。由於其網絡協議的專有性質,數據庫供應商通常提供4類驅動程序。

應該使用哪個驅動程序?

如果要訪問一種數據庫類型,例如Oracle,Sybase或IBM,則首選驅動程序類型4。

如果您的Java應用程序同時訪問多種類型的數據庫,則類型3是首選驅動程序。

在您的數據庫尚無法使用3型或4型驅動程序的情況下,類型2驅動程序很有用。

類型1驅動程序不被視為部署級驅動程序,通常僅用於開發和測試目的。