jdbc驅動程式在jdbc api中實現定義的介面,用於與資料庫伺服器進行互動。
例如,使用jdbc驅動程式,可以通過傳送sql或資料庫命令,然後使用j**a接收結果來開啟資料庫連線並與資料庫進行互動。
jdk附帶的j**a.sql
包包含各種類,其類的行為被定義,實現在第三方驅動程式中完成。 第三方**商在其資料庫驅動程式中實現j**a.sql.driver
介面。
jdbc驅動程式實現因j**a執行的各種作業系統和硬體平台而異。 sun將實現型別分為四種型別,分別為1
,2
,3
和4
型別,如下所述:
在型別1驅動程式中,jdbc橋接器用於訪問安裝在每台客戶機上的odbc驅動程式。 使用odbc需要在系統上配置表示目標資料庫的資料來源名稱(dsn)。
當j**a第一次出現時,這是乙個驅動程式,因為大多數資料庫僅支援odbc訪問,但現在這種型別的驅動程式僅推薦用於實驗性使用或沒有其他替代方案時使用。
jdk 1.2附帶的jdbc-odbc橋接是這種驅動程式的乙個很好的例子。
在型別2驅動程式中,jdbc api呼叫將轉換為本地c/c++ api呼叫,這是資料庫唯一的。 這些驅動程式通常由資料庫**商提供,並以與jdbc-odbc橋接相同的方式使用。 必須在每個客戶機上安裝**商特定的驅動程式。
如果要更改資料庫,則必須更改原生api,因為它特定於資料庫,並且現在大部分已經過時,但是使用型別2驅動程式實現了一些擴充套件功能的開發,它消除了odbc的開銷。
oracle呼叫介面(oci)驅動程式是型別2驅動程式的示例。
在型別3驅動程式中,使用三層方法訪問資料庫。 jdbc客戶端使用標準網路套接字與中介軟體應用程式伺服器進行通訊。 套接字資訊隨後由中介軟體應用伺服器轉換成dbms所需的呼叫格式,並**到資料庫伺服器。
這種驅動程式是非常靈活的,因為它不需要在客戶端上安裝**,乙個驅動程式實際上可以提供多個資料庫的訪問。
可以將應用程式伺服器視為jdbc「**」,它會呼叫客戶端應用程式。 因此,我們需要了解應用程式伺服器的配置,才能有效地使用此驅動程式型別。
應用程式伺服器可能會使用型別1,2或4驅動程式與資料庫通訊,了解細微差別對理解jdbc是有幫助的。
在型別4驅動程式中,基於純j**a的驅動程式通過套接字連線與**商的資料庫直接通訊。 這是資料庫可用的最高效能驅動程式,通常由**商自己提供。
mysqlconnector/j
驅動程式是型別4驅動程式。 由於其網路協議的專有性質,資料庫**商通常提供型別4驅動程式。
如果您正在訪問一種型別的資料庫,例如oracle,sybase或ibm db2,則首選驅動程式型別為型別4。
如果j**a應用程式同時訪問多種型別的資料庫,則型別3是首選驅動程式。
型別2驅動程式在資料庫不可用的型別3或型別4驅動程式的情況下使用。
型別1驅動程式不被視為部署級驅動程式,通常僅用於開發和測試目的。
使用JDBC驅動程式處理元資料
元資料 databasemetadata類 geturl 代表資料庫的url,返回乙個string類物件 getusername 返回使用者名稱 isreadonly 返回乙個布林值,是否只許讀操作 getdatabaseproductname 產品名稱 getdatabaseproductvers...
JDBC註冊驅動程式三種方式
第一種方式 class.forname com.mysql.jdbc.driver 載入資料庫驅動 try rs.close stmt.close conn.close catch classnotfoundexception e catch sqlexception e 第二種方式 通過系統的屬性...
通過 JDBC 驅動程式 使用多個結果集
使用返回多個結果集的內聯 sql 或 sql server 儲存過程時,microsoft sql server 2005 jdbc driver 提供 sqlserverstatement 類的 getresultset 方法,以檢索返回的每個資料集。此外,當執行返回多個結果集的語句時,可以使用s...