6.4 受支援的協力廠商 JDBC 驅動程式

6.4.1 協力廠商 JDBC 驅動程式功能

下表概述協力廠商 JDBC 驅動程式功能:

Table 6-3 協力廠商 JDBC 驅動程式功能

驅動程式

支援加密傳輸?

支援自動產生之金鑰的取回?

BEA* Weblogic* jDriver

IBM DB2 UDB 類型 3

IBM DB2 UDB 類型 4

Informix

Microsoft 2000

MySQL Connector/J

Oracle Thin Client

PostgreSQL

是*

Sybase jConnect

 

 

 

* 適用於 JDBC 3 (Java 1.4) 版本和更新版本。

6.4.2 JDBC URL 語法

下表列出受支援的協力廠商 JDBC 驅動程式的 URL 語法:

Table 6-4 URL 語法

協力廠商 JDBC 驅動程式

JDBC URL 語法

Oracle Thin Client

jdbc:oracle:thin:@IP 位址:1521:sid

IBM DB2 UDB 類型 3

jdbc:db2://IP 位址:6789/database-name

IBM DB2 UDB 類型 4,通用

jdbc:db2://IP 位址:50000/資料庫名稱

BEA Weblogic jDriver

jdbc:weblogic:mssqlserver4:資料庫名稱@IP 位址:1433

Microsoft SQL Server

jdbc:microsoft:sqlserver://IP 位址或 dns 名稱:1433;DatabaseName=資料庫名稱

Sybase jConnect

jdbc:sybase:Tds:ip-address:2048/資料庫名稱

MySQL Connector/J

jdbc:mysql://IP 位址:3306/資料庫名稱

Informix

jdbc:informix-sqli://IP 位址:1526/資料庫名稱:informixserver=伺服器 ID

PostgreSQL

jdbc:postgresql://IP 位址:5432/資料庫名稱

此資訊可以與「驗證網路位置」參數共同使用。 如需此參數的相關資訊,請參閱驗證網路位置

6.4.3 JDBC 驅動程式類別名稱

下表列出受支援的協力廠商 JDBC 驅動程式的完整 Java 類別名稱。

Table 6-5 協力廠商 JDBC 驅動程式的類別名稱

協力廠商 JDBC 驅動程式

類別名稱

BEA Weblogic jDriver

weblogic.jdbc.mssqlserver4.Driver

IBM DB2 UDB 類型 3

COM.ibm.db2.jdbc.net.DB2Driver

IBM DB2 UDB 類型 4,通用

com.ibm.db2.jcc.DB2Driver

Informix

com.informix.jdbc.IfxDriver

Microsoft 2000

com.microsoft.jdbc.sqlserver.SQLServerDriver

MySQL Connector/J

org.gjt.mm.mysql.Driver

Oracle Thin Client

oracle.jdbc.driver.OracleDriver

PostgreSQL

org.postgresql.Driver

Sybase jConnect 5.5

com.sybase.jdbc2.jdbc.SybDriver

此資訊可以與「JDBC 驅動程式類別名稱」參數共同使用。 如需此參數的相關資訊,請參閱協力廠商 JDBC 驅動程式類別名稱

6.4.4 BEA Weblogic jDriver for Microsoft SQL Server

Table 6-6 BEA Weblogic jDriver

受支援的資料庫版本:

Microsoft SQL Server 6.5、7.x、8.x (2000)

類別名稱

weblogic.jdbc.mssqlserver4.Driver

類型

4

URL 語法

jdbc:weblogic:mssqlserver4:資料庫名稱@IP 位址:1433

下載指示

免費註冊,並下載最新版的 Weblogic 伺服器。 執行安裝程式。 weblogic.jar 檔案安裝在 安裝目錄/server/lib 目錄中。

BEA 下載中心

檔名

weblogic.jar

文件 URL

jDriver 文件

NOTE:受支援的協力廠商驅動程式清單中包含 BEA Weblogic 驅動程式,以提供對 Microsoft SQL server 7 的 JDBC 存取。Microsoft 的驅動程式僅支援第 8 版 (2000)。

相容性

BEA Weblogic 驅動程式是反向相容的。 資料庫伺服器和驅動程式不經常進行更新。

安全性

BEA Weblogic 驅動程式不支援加密傳輸。

已知問題

  • BEA Weblogic 驅動程式不是免費提供的, 必須要購買並取得適當授權才行。
  • 各驅動程式版本之間包含 UNIQUEIDENTIFIER 欄的關聯值是不一致的。

    較早版本的 BEA Weblogic 驅動程式針對原始 UNIQUEIDENTIFIER 欄傳回非標準的 java.sql.Types 值。 為了彌補,Driver for JDBC 將該非標準類型映射到標準類型 java.sql.Types.BINARY,因為它可以鏡像複製 16 位元值的原始資料庫類型到最佳程度。 此映射會產生 Base64 編碼的關聯值。

    更新版本的 BEA Weblogic 驅動程式會傳回標準類型 java.sql.CHAR。 此映射會產生非 Base64 編碼的關聯值,藉由使用較早版本 BEA Weblogic 驅動程式,使所產生的所有關聯失效。 此變更事實上會中斷反向相容性。

    此問題的最佳解決方案是繼續使用較早版本的 BEA Weblogic 驅動程式。 如果您必須升級,則必須移除所有失效的關聯,並重新關聯所有之前關聯的物件。

  • 當在 AIX 上呼叫方法 java.sql.Connection.getConnection(String url, String username, String password) 時,BEA Weblogic 驅動程式會送出 java.lang.IllegalMonitorStateException

6.4.5 IBM DB2 Universal Database JDBC 驅動程式

IBM DB2 驅動程式可以是類型 3 或類型 4。

類型 3

Table 6-7 IBM DB2 驅動程式:類型 3

受支援的資料庫版本:

7.x

類別名稱:

COM.ibm.db2.jdbc.net.DB2Driver

類型

3

URL 語法:

jdbc:db2://IP 位址:6789/資料庫名稱

下載指示:

從資料庫伺服器複製檔案。

file:///資料庫安裝目錄/java

檔案名稱:

db2java.zip

文件 URL:

DB2 資訊中心

JDBC 程式設計

IMPORTANT:類型 3 驅動程式會取代為第 8 版。

相容性

IBM DB2 驅動程式的最大特性是對版本的區分極為嚴格。 DB2 的主要或次要版本 (包含 FixPack) 之間是不相容的。 因此,建議您使用安裝在資料庫伺服器上的檔案

IMPORTANT:即使僅在 FixPack 層級,每次更新目標資料庫時,都必須在 Identity Manager 或「遠端載入器」伺服器上更新 IBM DB2 驅動程式。

安全性

IBM DB2 驅動程式不支援加密傳輸。

已知問題

  • 版本不符合通常會導致與連接性相關的失敗。

    IBM DB2 驅動程式的最常見問題是由於驅動程式/資料庫版本不符合所導致。 版本不符合的前兆是與連接性相關的失敗,例如「CLI0601E 陳述式識別指標無效或陳述式已關閉」。要補救該問題,請以安裝在資料庫伺服器上的版本覆寫 Identity Manager 或「遠端載入器」伺服器上的 db2java.zip 檔案。

  • 要診斷和補救資料庫伺服器上 Java 相關的錯誤,其難度是非常高的。

    當您嘗試安裝和執行以 Java 編寫之使用者定義的預存程序和函數時,可能會產生許多錯誤條件和錯誤碼。 診斷這些錯誤很花時間,而且困難重重。 記錄檔案 (資料庫伺服器上的 db2diag.log) 通常可以提供額外的除錯資訊。 此外,所有錯誤碼也會被記錄下來,而且可以在線上使用。

類型 4:通用驅動程式

Table 6-8 IBM DB2 驅動程式:類型 4

受支援的資料庫版本

8.x

類別名稱

com.ibm.db2.jcc.DB2Driver

類型

4

URL 語法

jdbc:db2://IP 位址:50000/資料庫名稱

下載指示

下載為最新 FixPack 的一部份 (建議)。

IBM 支援與下載

從資料庫伺服器複製檔案。

file:///資料庫安裝目錄/java

檔名

db2jcc.jardb2jcc_license_cu.jardb2jcc_javax.jar (選擇性)

文件 URL

DB2 資訊中心

DB2 通用 JDBC 驅動程式

DB2 通用 JDBC 驅動程式下的安全性

NOTE:與類型 3 驅動程式不同的是,類型 4 驅動程式只有最小的已定義錯誤碼集。 這種缺少會限制 Driver for JDBC 辨識連接性、重試、驗證和嚴重錯誤等不同狀況的能力。

相容性

IBM DB2 驅動程式是反向相容的。 然而,它不使用資料庫第 7 版。資料庫伺服器會經常更新。 驅動程式不經常更新。

安全性

IBM DB2 驅動程式支援各種驗證安全性機制,但是不支援加密傳輸。

已知問題

  • 要診斷和補救資料庫伺服器上 Java 相關的錯誤,其難度是非常高的。

    當您嘗試安裝和執行以 Java 編寫之使用者定義的預存程序和函數時,會產生許多錯誤條件和錯誤碼。 診斷這些錯誤很花時間,而且困難重重。 記錄檔案 (資料庫伺服器上的 db2diag.log) 通常可以提供額外的除錯資訊。 此外,所有錯誤碼也會被記錄下來,而且可以在線上使用。

6.4.6 Informix JDBC 驅動程式

Table 6-9 Informix JDBC 驅動程式

受支援的資料庫版本

Dynamic Server 7.x、9.x

類別名稱

com.informix.jdbc.IfxDriver

類型

4

URL 語法

jdbc:informix-sqli://IP 位址:1526/資料庫名稱:informixserver=伺服器 ID

下載指示

下載 URL

檔名

ifxjdbc.jarifxjdbcx.jar (選擇性)

文件 URL

Informix 資訊中心

Informix JDBC 驅動程式

相容性

Informix 驅動程式是反向相容的。 資料庫伺服器和驅動程式不經常更新。

安全性

Informix 驅動程式不支援加密傳輸。

ANSI 相容資料庫的必要參數設定

下表列出必須對 Driver for JDBC 明確設定的驅動程式參數,以針對 ANSI 相容資料庫與 Informix 驅動程式互通。

Table 6-10 ANSI 相容資料庫的驅動程式設定

顯示名稱

標籤名稱

支援中繼資料取回中的綱要?

supports-schemas-in-metadata-retrieval

請參閱支援中繼資料取回中的綱要?

false

強制使用者名稱大小寫:

force-username-case

請參閱強制使用者名稱大小寫

upper

動態參數預設值

下表列出 Driver for JDBC 在執行時期以隱含方式設定的驅動程式相容性參數。 請勿置換這些設定。

Table 6-11 不可置換的 Informix JDBC 設定

顯示名稱

標籤名稱

函數傳回方法:

function-return-method

請參閱函數傳回方法

結果集

已知問題

  • 綱要名稱無法用於針對 ANSI 相容資料庫取回中繼資料。 將驅動程式相容性參數支援中繼資料取回中的綱要?設為布林值 False。 可用於中繼資料取回的資料庫物件,是通過資料庫驗證之資料庫使用者可見的那些物件。 綱要修飾詞無法用於識別資料庫物件。 因此,若要避免命名衝突 (例如,owner1.table1、owner2.table1),請只授予資料庫驗證使用者同步化物件的 SELECT 權限。
  • 當針對 ANSI 相容資料庫使用時,使用者名稱必須大寫。 將驅動程式相容性參數支援中繼資料取回中的綱要?設為 upper

6.4.7 Microsoft SQL Server 2000 Driver for JDBC

Table 6-12 Microsoft SQL Server 2000 Driver 設定

受支援的資料庫版本:

8 (2000)

類別名稱

com.microsoft.jdbc.sqlserver.SQLServerDriver

類型

4

URL 語法

jdbc:microsoft:sqlserver://IP 位址或 dns 名稱:1433;DatabaseName=資料庫名稱

下載指示

Microsoft JDBC 下載

檔名

msbase.jarmssqlserver.jarmsutil.jar

相容性

SQL Server 2000 驅動程式是反向相容的。 然而,它不使用資料庫第 7 版。資料庫伺服器和驅動程式不經常更新。

安全性

SQL Server 2000 驅動程式不支援加密傳輸。

URL 內容

使用分號 (;) 分隔 URL 內容。

下表列出 SQL Server 2000 驅動程式之 SelectMethod URL 內容的值。

Table 6-13 SelectMethod URL 內容的值

合法的值

描述

direct

預設值。 不允許單一連接中有多個使用中陳述式

cursor

允許單一連接中有多個使用中陳述式

動態參數預設值

下表列出 Driver for JDBC 在執行時期以隱含方式設定的驅動程式相容性參數。 請勿明確地置換這些設定。

Table 6-14 不可置換的 SQL Server 2000 設定

顯示名稱

標籤名稱

重複使用陳述式?

reuse-statements

false

已知問題

  • 由於連接是複製的,所以無法啟動手動異動。

    不允許相同連接上使用並行陳述式的實作異常,會導致 SQL Server 2000 驅動程式發生最常見的問題。 與其他協力廠商實作不同的是,在給定的連接上 SQL Server 2000 驅動程式一次只能有一個使用中的 java.sql.Statement 物件。

    如果您嘗試使用一個以上的陳述式物件,則會發出下列錯誤: 因為具有複製的連接,所以無法啟動手動異動模式。此錯誤只有在驅動程式相容性參數重複使用陳述式?設為布林值 True 時才會發生。 最好的作法是,絕不明確設定此參數, 而是使用動態預設值。

    或者,將分隔內容 ;SelectMethod=cursor 置於 URL 字串的結尾處。 如需此問題的其他資訊,請諮詢下列支援文章:

  • 各驅動程式版本之間包含 UNIQUEIDENTIFIER 欄的關聯值是不一致的。

    較早版本的 SQL Server 2000 驅動程式針對原始 UNIQUEIDENTIFIER 欄傳回非標準的 java.sql.Types 值。 為了彌補,Driver for JDBC 將該非標準類型映射到標準類型 java.sql.Types.BINARY,因為它可以鏡像複製 16 位元值的原始資料庫類型到最佳程度。 此映射會產生 Base64 編碼的關聯值。

    更新版本的 SQL Server 2000 驅動程式會傳回標準類型 java.sql.CHAR。 此映射會產生非 Base64 編碼的關聯值,藉由使用較早版本 SQL Server 2000 驅動程式,使所產生的所有關聯失效。 此變更事實上會中斷反向相容性。

    此問題的最佳解決方案是繼續使用較早版本的 SQL Server 2000 驅動程式。 如果您必須升級,請移除所有失效的關聯,並重新關聯所有之前關聯的物件。

6.4.8 MySQL Connector/J JDBC 驅動程式

Table 6-15 MySQL Connector/J JDBC 驅動程式的設定

受支援的資料庫版本

3.x、4.x

類別名稱

org.gjt.mm.mysql.Driver

類型

4

URL 語法

jdbc:mysql://IP 位址:3306/資料庫名稱

下載指示

下載並擷取。 jar 檔案位於擷取目錄/mysql-connector-java-版本目錄。

MySQL Connector/J

檔名

mysql-connector-java-版本-bin.jar

文件 URL

MySQL Connector/J 文件

透過 SSL 進行連接

另請參閱產生/取回方法 (全域表格)

相容性

Connector/J 驅動程式是反向相容的。 資料庫伺服器會經常更新。 驅動程式不經常更新。

安全性

Connector/J 驅動程式支援 JSSE (Java Secure Sockets Extension) SSL 加密傳輸。

MyISAM 表格的必要參數設定

下表列出您必須設定的驅動程式參數,如此 Driver for JDBC 便可以針對 MyISAM 表格與 Connector/J 驅動程式互通。

Table 6-16 MyISAM 表格的設定

顯示名稱

標籤名稱

使用手動異動?

use-manual-transactions

false

6.4.9 Oracle Thin Client JDBC 驅動程式

Table 6-17 Oracle Thin Client 設定

受支援的資料庫版本

8i、9i、10g

類別名稱

oracle.jdbc.driver.OracleDriver

類型

4

URL 語法

jdbc:oracle:thin:@IP 位址:1521:sid

下載指示

免費註冊並下載。

Oracle Technology Network

1.1 檔名

classes111.zipnls_charset11.zip (選擇性)

1.2-3 檔名

classes12.zipocrs12.zip (選擇性)、nls_charset12.zip (選擇性)

1.4 檔名

ojdbc14.jarocrs12.zip (選擇性)

文件 URL

Oracle 進階安全性

JDBC FAQ

相容性

Thin Client 驅動程式是反向相容的。 資料庫伺服器和驅動程式不經常更新。

Oracle 釋出各種 Java 虛擬機器 (JVM) 的 Thin Client 驅動程式。 即使全都使用此產品,仍建議您使用 1.4 版。

安全性

Thin Client 驅動程式支援「Oracle 進階安全性」加密傳輸。

動態參數預設值

下表列出 Driver for JDBC 在執行時期以隱含方式設定的驅動程式相容性參數。 請勿明確地置換這些設定。

Table 6-18 不可置換的 Oracle Thin Client 設定

顯示名稱

標籤名稱

傳回的結果集數目:

handle-stmt-results

single

連接內容

下表列出此驅動程式的重要連接內容。

Table 6-19 Oracle Thin Client:連接內容

內容

重要性

includeSynonyms

如果此內容的值是 true,則可以使用同義字欄中繼資料。

ORACLE.NET.ENCRYPTION_CLIENT

定義用戶端要與伺服器交涉的安全性層級。

ORACLE.NET.ENCRYPTION_TYPES_CLIENT

定義要使用的加密演算法。

ORACLE.NET.CRYPTO_CHECKSUM_CLIENT

定義要針對資料完整性與伺服器交涉的安全性層級。

ORACLE.NET.CRYPTO_CHEKSUM_TYPES_CLIENT

定義要使用的資料完整性演算法。

已知問題

  • 透過執行內嵌式 SQL 陳述式觸發的高 CPU 使用率:

    此驅動程式發生的最常見問題是高 CPU 使用率。 因此,此驅動程式會一直指出,從呼叫到方法 java.sql.Statement.execute(String stmt) 有更多的結果,其可能導致無限迴路情形。 只有在下列各項都發生時,才會發生此情形:

    • 正在執行之驅動程式相容性參數傳回的結果集數目中,singlenoone 以外的值。
    • 正在執行內嵌式 SQL 陳述式。
    • 未明確指定陳述式類型。

    若要避免產生高 CPU 使用率,請遵循下列指示:

    • 不要明確地設定此參數。 使用動態預設值。
    • 一直將 jdbc:type 屬性置於內嵌式 <jdbc:statement> 元素上。

      NOTE:jdbc 名稱空間字首必須映射至 urn:dirxml:jdbc

  • 無法取回同義字欄中繼資料:

    連接內容 includeSynonyms 必須設為 true

  • 無法查看同義字表格主索引鍵條件約束:

    此問題的唯一已知解決方案是使用檢視窗。

6.4.10 PostgreSQL JDBC 驅動程式

Table 6-20 PostgreSQL JDBC 驅動程式設定

受支援的資料庫版本

6.x、7.x、8.x

類別名稱

org.postgresql.Driver

類型

4

URL 語法

jdbc:postgresql://IP 位址:5432/資料庫名稱

下載指示

JDBC 驅動程式下載

文件 URL

JDBC 驅動程式文件

使用 SSL

NOTE:PostgreSQL 檔名會依資料庫版本而不同。

相容性

PostgreSQL 驅動程式的最新組建是透過伺服器 7.2 版反向相容。資料庫伺服器和驅動程式會經常更新。

安全性

PostgreSQL 驅動程式支援 JDBC 3 驅動程式版本的 SSL 加密傳輸。

6.4.11 Sybase Adaptive Server Enterprise JConnect JDBC 驅動程式

Table 6-21 Sybase Adaptive Server Enterprise 驅動程式的設定

受支援的資料庫版本

Adaptive Server* Enterprise 11.x、12.x

類別名稱

com.sybase.jdbc2.jdbc.SybDriver (針對 jconn2.jar) com.sybase.jdbc3.jdbc.SybDriver (針對 jconn3.jar)

類型

4

URL 語法

jdbc:sybase:Tds:IP 位址:2048/資料庫名稱

下載指示

Sybase 下載

檔名

jconn2.jarjconn3.jar

文件 URL

jConnect 文件

相容性

Adaptive Server 驅動程式是反向相容的。 資料庫伺服器和驅動程式不經常更新。

安全性

Adaptive Server 驅動程式支援 SSL 加密傳輸。 若要啟用 SSL 加密,您必須透過 SYBSOCKET_FACTORY 連接內容指定自定插槽實作。 如需設定連接內容的其他資訊,請參閱連接內容

連接內容

SYBSOCKET_FACTORY 內容可用來指定支援加密傳輸之自定插槽實作的類別名稱。