共用方式為


SQLConfigDriver 函式

一致性
引進的版本:ODBC 2.5

摘要
SQLConfigDriver 會載入適當的驅動程式設定 DLL,並呼叫 ConfigDriver 函 式。

您也可以使用 ODBCCONF.EXE 存取 SQLConfigDriver 的功能

語法

  
BOOL SQLConfigDriver(  
     HWND     hwndParent,  
     WORD     fRequest,  
     LPCSTR   lpszDriver,  
     LPCSTR   lpszArgs,  
     LPSTR    lpszMsg,  
     WORD     cbMsgMax,  
     WORD *   pcbMsgOut);  

引數

hwndParent
[輸入]父視窗控制碼。 如果控制碼為 Null,函式將不會顯示任何對話方塊。

fRequest
[輸入]要求的類型。 fRequest 必須包含下列其中一個值:

ODBC_CONFIG_DRIVER:變更驅動程式所使用的連線共用逾時。

ODBC_INSTALL_DRIVER:安裝新的驅動程式。

ODBC_REMOVE_DRIVER:移除現有的驅動程式。

這個選項也可以是驅動程式特定的,在此情況下 ,第一個選項的 fRequest 必須從 ODBC_CONFIG_DRIVER_MAX+1 開始。 任何其他選項的 fRequest 也必須從大於 ODBC_CONFIG_DRIVER_MAX+1 的值開始。

lpszDriver
[輸入]在系統資訊中註冊的驅動程式名稱。

lpszArgs
[輸入]Null 終止的字串,其中包含驅動程式特定 fRequest 的引數。

lpszMsg
[輸出]Null 終止的字串,其中包含來自驅動程式設定的輸出訊息。

cbMsgMax
[輸入]lpszMsg 的 長度。

oemMsgOut
[輸出]可用以 lpszMsg 回的位元組總數。 如果可用的位元組數目大於或等於 cbMsgMax ,則 lpszMsg 中的 輸出訊息會截斷為 cbMsgMax 減去 null 終止字元。 oemMsgOut 引數可以是 Null 指標。

傳回

如果函式成功,則傳回 TRUE,如果失敗,則傳回 FALSE。

診斷

當 SQLConfigDriver 傳回 FALSE 時 ,可以呼叫 SQLInstallerError 來取得相關聯的 *pfErrorCode 值。 下表列出 SQLInstallerError 可傳 回的 *pfErrorCode 值,並說明此函式內容中的每個值。

*pfErrorCode 錯誤 描述
ODBC_ERROR_GENERAL_ERR 一般安裝程式錯誤 發生錯誤,沒有特定的安裝程式錯誤。
ODBC_ERROR_INVALID_BUFF_LEN 不正確緩衝區長度 lpszMsg 引數無效。
ODBC_ERROR_INVALID_HWND 不正確視窗控制碼 hwndParent 引數無效。
ODBC_ERROR_INVALID_REQUEST_TYPE 要求類型無效 fRequest 引數不是下列其中一項:

ODBC_INSTALL_DRIVER ODBC_REMOVE_DRIVER

fRequest 引數是小於或等於ODBC_CONFIG_DRIVER_MAX的驅動程式特定選項。
ODBC_ERROR_INVALID_NAME 不正確驅動程式或翻譯工具名稱 lpszDriver 引數無效。 在登錄中找不到它。
ODBC_ERROR_INVALID_KEYWORD_VALUE 不正確關鍵字/值組 lpszArgs 引數包含語法錯誤。
ODBC_ERROR_REQUEST_FAILED 要求 失敗 安裝程式無法執行 fRequest 引數所要求的 作業。 對 ConfigDriver 的 呼叫 失敗。
ODBC_ERROR_LOAD_LIBRARY_FAILED 無法載入驅動程式或翻譯工具設定程式庫 無法載入驅動程式設定程式庫。
ODBC_ERROR_OUT_OF_MEM 記憶體不足 由於記憶體不足,安裝程式無法執行函式。

註解

SQLConfigDriver 可讓應用程式呼叫驅動程式的 ConfigDriver 常式,而不需要知道名稱並載入驅動程式特定的安裝 DLL。 安裝程式會在安裝驅動程式安裝程式 DLL 之後呼叫此函式。 呼叫程式應該注意,此函式可能無法供所有驅動程式使用。 在這種情況下,呼叫程式應該會繼續,而不會發生錯誤。

驅動程式特定選項

應用程式可以使用 fRequest 引數來要求驅動程式公開的驅動程式 特定功能。 第 一個選項的 fRequest 將會ODBC_CONFIG_DRIVER_MAX+1,而其他選項會從該值遞增 1。 驅動程式針對該函式所需的任何引數,都應該在傳入 lpszArgs 引數的 Null 終止字串中提供。 提供這類功能的驅動程式應該維護驅動程式特定選項的資料表。 選項應該完整記載于驅動程式檔中。 使用驅動程式特定選項的應用程式寫入器應該注意,這項使用會使應用程式變得不那麼互通。

設定連線共用逾時

當您設定驅動程式的組態時,可以設定連線共用逾時屬性。 使用 fRequest 的 fRequest ODBC_CONFIG_DRIVER 來呼叫 SQLConfigDriver ,並將 lpszArgs 設定為 CPTimeout CPTimeout 會決定連接可以保留在連接集區中而不使用的時間週期。 逾時到期時,會關閉連線,並從集區中移除。 預設逾時為 60 秒。

呼叫 SQLConfigDriver 並將 fRequest 設定為ODBC_INSTALL_DRIVER或ODBC_REMOVE_DRIVER時,驅動程式管理員會載入適當的驅動程式設定 DLL 並呼叫 ConfigDriver 函 式。 使用 fRequest ODBC_CONFIG_DRIVER 呼叫 SQLConfigDriver ,所有處理都會在 ODBC 安裝程式中執行,因此驅動程式設定 DLL 不需要載入。

訊息

驅動程式設定常式可以將文字訊息傳送至應用程式,作為 lpszMsg 緩衝區中 以 Null 終止的字串。 如果訊息大於或等於 cbMsgMax 字元,就會被 ConfigDriver 函 式截斷 null 終止字元

如需下列資訊 請參閱
新增、修改或移除驅動程式 ConfigDriver (在安裝 DLL 中)
移除預設資料來源 SQLRemoveDefaultDataSource