當使用 DB2® 資料庫產品的多個 DB2 副本或多個資料伺服器驅動程式副本時,應用程式可以利用各種選項來存取 DB2 資料庫。現存應用程式將繼續正常運作。
限制
對於下列各種連接資料庫的模式,在相同程序中僅可以使用一個副本。
雖然本主題主要討論 Windows® 作業系統、Linux® 及 UNIX® 作業系統上的問題,但是您也無法在相同程序中存取與多個 DB2 副本相關聯的實例。
程序
檢閱與下列每一個連接 DB2 資料庫方法相關聯的考量:
若要使用非預設的 DB2 副本,請在連線字串中指定此 DB2 副本的 IBMDADB 驅動程式名稱,格式如下:IBMDADB2.$DB2_COPY_NAME。部分應用程式可能無法變更未重新編譯的連線字串,因此這些應用程式僅會使用預設 DB2 副本。如果應用程式使用預設程式 ID ibmdadb2 或預設 clsid,則它將一律使用預設 DB2 副本。
特別是,您將需要變更連線字串中 "provider=IBMDADB2" 的值。例如,如果您要使用的 DB2 副本稱為 MY_COPY,則應在連線字串中指定 "provider=IBMDADB2.MY_COPY"。如果必須在安裝期間明確指定 GUID,可使用回應檔關鍵字 OLEDB_GUID 來執行此作業,其可讓您輸入自己的 GUID。否則,會使用產生的 ID (在 DB2 安裝日誌中列出)。
IBM Data Server Driver for ODBC and CLI 包含副本名稱作為驅動程式名稱的一部分。預設驅動程式 IBM DB2 ODBC DRIVER 會設為預設的 IBM 資料庫用戶端介面副本。每個安裝的驅動程式名稱為 "IBM DB2 ODBC DRIVER - Copy Name"。
由副本識別的 DB2 資料庫產品不會存取 IBM Data Server Provider for .NET。反之,它會根據應用程式需要的提供者版本,尋找該版本並以標準方法來使用這個版本。
JDBC 使用類別路徑中現行版本的驅動程式。類型 2 JDBC 驅動程式使用原生的 DLL。根據預設值,會配置類別路徑指向預設 DB2 副本。從您要使用的 DB2 副本執行 db2envar.bat,將更新此副本的 PATH 及 CLASSPATH 設定。
「MMC 嵌入式管理單元」會啟動預設 DB2 副本的「DB2 控制中心」。
WMI 不支援多個 DB2 副本。您一次僅可以登錄一個 WMI 副本。若要登錄 WMI,請遵循此程序:
在 DB2 安裝期間未登錄 WMI。您必須完成兩個登錄步驟。WMI 是 DB2 資料庫產品 DB2 Personal Edition 及以上版本中的可選用功能。您必須在客戶安裝期間選取此功能。在一般安裝中不包括此功能。
動態載入 IBM 資料伺服器用戶端檔案庫的 CLI 應用程式應該搭配使用 LoadLibraryEx API 與 LOAD_WITH_ALTERED_SEARCH_PATH 選項,而不是 LoadLibrary 選項。如果您未搭配使用 LoadLibraryEx API 與 LOAD_WITH_ALTERED_SEARCH_PATH 選項,則需要從要使用之 DB2 副本的 bin 目錄執行 db2envar.bat,以在 Path 中指定 db2app.dll。對於使用 db2apie.lib 鏈結的應用程式,若要讓其使用其他 DB2 副本,您可以在 link 指令中使用 /delayload 選項,以延遲載入 db2app.dll,並在任何 DB2 呼叫之前呼叫 db2SelectDB2Copy API。
為了減少系統上執行的系統匣可執行檔數目,依預設會停用系統匣中在變更先前預設 DB2 副本時該預設副本中執行的任何項目。