JavaTM 2 Platform
Standard Ed. 6

java.sql
介面 Driver


public interface Driver

每個驅動程序類別必須實作的介面。

Java SQL 框架允許多個資料庫驅動程序。

每個驅動程序都應該提供一個實作 Driver 介面的類別。

DriverManager 會試著載入盡可能多的它可以找到的驅動程序,然後,對於任何給定連接請求,它會讓每個驅動程序依次試著連接到目標 URL。

強烈建議每個 Driver 類別應該是小型的並且是單獨的,這樣就可以在不必引入大量支持程式碼的情況下載入和查詢 Driver 類別。

在載入某一 Driver 類別時,它應該創建自己的實例並向 DriverManager 註冊該實例。這意味著使用者可以通過調用以下程序載入和註冊一個驅動程序

   Class.forName("foo.bah.Driver")
 

另請參見:
DriverManager, Connection

方法摘要
 boolean acceptsURL(String url)
          查詢驅動程序是否認為它可以打開到給定 URL 的連接。
 Connection connect(String url, Properties info)
          試圖創建一個到給定 URL 的資料庫連接。
 int getMajorVersion()
          獲取此驅動程序的主版本號。
 int getMinorVersion()
          獲得此驅動程序的次版本號。
 DriverPropertyInfo[] getPropertyInfo(String url, Properties info)
          獲得此驅動程序的可能屬性資訊。
 boolean jdbcCompliant()
          報告此驅動程序是否是一個真正的 JDBC CompliantTM 驅動程序。
 

方法詳細資訊

connect

Connection connect(String url,
                   Properties info)
                   throws SQLException
試圖創建一個到給定 URL 的資料庫連接。如果驅動程序識別出它是連接到給定 URL 的錯誤型別的驅動程序,那麼它應該返回 "null"。這會很常見,因為在要求 JDBC 驅動程序管理器連接到給定 URL 時,它會將該 URL 依次傳遞給每個已載入的驅動程序。

如果要連接到給定 URL 的驅動程序是正確的驅動程序,但卻無法連接到資料庫,則該驅動程序應該拋出 SQLException

可以使用 java.util.Properties 參數將任意字元串標記/值對作為連接參數傳遞。通常 Properties 物件中至少應該套件括 "user" 和 "password" 屬性。

參數:
url - 要連接到的資料庫的 URL
info - 做為連接參數的任意字元串標記/值對的列表。通常至少應該套件括 "user" 和 "password" 屬性。
返回:
表示到 URL 的連接的 Connection 物件
拋出:
SQLException - 如果發生資料庫存取錯誤

acceptsURL

boolean acceptsURL(String url)
                   throws SQLException
查詢驅動程序是否認為它可以打開到給定 URL 的連接。通常,如果驅動程序理解該 URL 中指定的子協議,則這些驅動程序將返回 true;否則,返回 false

參數:
url - 資料庫的 URL
返回:
如果此驅動程序理解給定的 URL,則返回 true;否則,返回 false
拋出:
SQLException - 如果發生資料庫存取錯誤

getPropertyInfo

DriverPropertyInfo[] getPropertyInfo(String url,
                                     Properties info)
                                     throws SQLException
獲得此驅動程序的可能屬性資訊。

getPropertyInfo 方法允許一般 GUI 工具發現哪些屬性它應該提示使用者,以便獲得連接到資料庫的足夠資訊。注意,根據使用者目前為止已經提供的值,額外的值也可能變成必需的,因此可能有必要通過多次調用 getPropertyInfo 方法對它們進行迭代。

參數:
url - 要連接到的資料庫的 URL
info - 將要在打開的連接上發送的標記/值對的建議列表
返回:
描述可能屬性的 DriverPropertyInfo 物件的陣列。如果不需要任何屬性,該陣列可能是一個空陣列。
拋出:
SQLException - 如果發生資料庫存取錯誤

getMajorVersion

int getMajorVersion()
獲取此驅動程序的主版本號。最初,此版本號應該為 1。

返回:
此驅動程序的主版本號

getMinorVersion

int getMinorVersion()
獲得此驅動程序的次版本號。最初,此版本號應該為 0。

返回:
此驅動程序的次版本號

jdbcCompliant

boolean jdbcCompliant()
報告此驅動程序是否是一個真正的 JDBC CompliantTM 驅動程序。如果通過 JDBC 相容測試,驅動程序在這裡可以只報告 true;否則它需要返回 false

JDBC 相容要求完全支持 JDBC API 和完全支持 SQL 92 Entry Level。期望 JDBC 相容驅動程序可用於所有主要商業資料庫。

此方法不打算鼓勵開發非 JDBC 相容驅動程序,但要認識到這樣一個事實:一些供應商對將 JDBC API 和框架用於不支持完整的資料庫功能的輕量級資料庫感興趣,或者對將 JDBC API 和框架用於一些特殊資料庫感興趣,比如文檔資訊獲取,在這些資料庫中 SQL 實作是不可行。

返回:
如果此驅動程序是 JDBC 相容的,則返回 true;否則,返回 false

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only