CLI/ODBC/JDBC 驅動程式的架構可以由從屬站架構輔助程式、ODBC 驅動程式管理程式(若系統有安裝此程式)、編輯 db2cli.ini 檔來完成。 詳細資料,請參閱安裝與架構補充資料或 CLI Guide and Reference。
您可以透過 db2cli.ini 檔,或者透過 SQLDriverConnect() 或 SQLBrowseConnect() CLI API, 指定 PATCH1 及 PATCH2 關鍵字的值,來修改 DB2 CLI/ODBC 驅動程式的預設行為。
您可以將使用者想要設定的所有關鍵字加在一起, 來指定 PATCH1 關鍵字。 例如,如果指定修補程式 1、2 及 8,則 PATCH1 的值將是 11。 下列是驅動程式上每一關鍵字值及其效果的說明:
PATCH2 關鍵字不同於 PATCH1 關鍵字。在這種情況中,將使用逗點分隔字元來指定多個修補程式。 例如,如果指定了修補程式 1、4 及 5,則 PATCH2 將具有值 "1,4,5"。 下列是驅動程式上每一關鍵字值及其效果的說明:
1 - 這會強制驅動程式將 CALL 陳述式中的儲存程序名稱轉換為大寫字體。 2 - 不使用。 3 - 這會強制驅動程式將綱目呼叫的所有引數轉換為大寫字體。 4 - 這會強制驅動程式對於綱目呼叫 (也就是 SQLColumns()、SQLProcedureColumns() 等等) 傳回類似版本 2.1.2 的結果集,而非類似版本 5 的結果集。 5 - 這會強制驅動程式不要最佳化輸入 VARCHAR 直欄的處理,指向資料的指標和指向 長度的指標在記憶體中是連續的。 6 - 這會強制驅動程式傳回不支援可捲動游標的訊息。Visual Basic 程式會需要用到, 如果 DB2 從屬站是版本 5,且伺服器是 DB2 UDB 版本 5。 7 - 這會強制驅動程式將所有 GRAPHIC 直欄資料類型對映到 CHAR 直欄資料類型。在雙位元組環境中需要這種效果。 8 - 這會強制驅動程式忽略綱目呼叫中的目錄搜尋引數。 9 - 游標提早關閉時不要 COMMIT 10 - 不使用 11 - 報告支援目錄名稱, (VB 儲存程序) 12 - 從綱目呼叫引數除去雙引號, (Visual Interdev) 13 - 請勿將 db2cli.ini 的關鍵字添加到輸出連接字串 14 - 忽略 SQLProcedures() 及 SQLProcedureColumns() 上的綱目名稱 15 - 使用句點代表字元輸出中的小數點符號 16 - 強迫傳回每一開啟的說明資訊 17 - 請勿在說明上傳回直欄名稱 18 - 嘗試以參數記號取代文字 19 - 目前,DB2 MVS V4.1 不支援 ODBC 語法,因為它容許在外部結合子句中的 ON 子句可有括弧。 開啟這個 PATCH2 會導致 IBM DB2 ODBC 驅動程式在外部結合子句在 ODBC ESC 序列中時將連字號除去。這個 PATCH2 只有在不利於 DB2 MVS 4.1 時才使用。 20 - 目前,MVS 上的 DB2 不支援參數記號為兩個運算元 (expression ? BETWEEN ?) 的 BETWEEN 述詞。開啟這個修補程式會導致 IBM ODBC 驅動程式將述詞覆寫為 (expression >= ? and expression <= ?)。 21 - 將儲存程序的所有僅 OUTPUT 參數設定為 SQL_NULL_DATA 22 - 此 PATCH2 會導致 IBM ODBC 驅動程式報告不支援外部結合 (OUTER join)。 這是因為在使用 coll 長度超過 254 個字元的外部結合陳述式時, 應用程式會產生 SELECT DISTINCT col1 或 ORDER BY col1, 並造成 DB2 UDB 傳回錯誤 (因為 DB2 UDB 在此使用情況中不支援大於 254 位元組的 直欄 23 - 請勿最佳化透過 cbColDef=0 結合的參數之輸入 24 - 存取對映時間的實例為字元 25 - 存取小數直欄的實例 - 除去字元陳述尾端的零 26 - 不將 SQL 程式 464 傳回給應用程式 - 表示已傳回結果集 27 - 迫使 SQLTables 使用 TABLETYPE 關鍵字值,即使應用程式指定了一個有效值 28 - 說明實際的直欄為雙倍直欄 29 - 小數直欄的 ADO 實例 - 除去 x 值的前導零,其中 x 為 1 > x > -1 (某些 MDAC 版本需要此效果) 30 - 快取最佳化時,停止使用儲存程序 31 - 回報 SQLStatistics 呼叫別名的統計值 32 - 置換 SQL 程式 -727 原因碼 4 處理程序 33 - 在轉換成字元時,傳回時間戳記的 ISO 版本 (相對於 ODBC 版本) 34 - 以 CHAR 名稱來回報 CHAR FOR BIT DATA 直欄 35 - SQL_DESC_BASE_TABLE_NAMER 被要求下回報一個無效的表格名稱 - ADO 唯讀 最佳化 36 - 保留 37 - 保留