SQLReadFileDSN 函式

一致性
引進的版本:ODBC 3.0

摘要
SQLReadFileDSN 會從檔案 DSN 讀取資訊。

語法

  
BOOL SQLReadFileDSN(  
     LPCSTR   lpszFileName,  
     LPCSTR   lpszAppName,  
     LPCSTR   lpszKeyName,  
     LPSTR    lpszString,  
     WORD     cbString,  
     WORD *   pcbString);  

引數

lpszFileName
[輸入]包含 .dsn 檔案名的資料緩衝區指標。 .dsn 副檔名會附加至所有尚未具有 .dsn 副檔名的檔案名。 *lpszFileName 中的 值必須是以 Null 結尾的字串。

lpszAppName
[輸入]包含應用程式名稱的資料緩衝區指標。 這是 ODBC 區段的 「ODBC」。 *lpszAppName 中的 值必須是以 Null 結尾的字串。

lpszKeyName
[輸入]包含要讀取之索引鍵名稱的資料緩衝區指標。 請參閱保留關鍵字的「批註」。 *lpszAppName 中的 值必須是以 Null 結尾的字串。

lpszString
[輸出]包含要讀取之索引鍵相關聯之字串的資料緩衝區指標。

如果 *lpszFileName 是有效的 .dsn 檔案名,但 lpszAppName 引數是 Null 指標,而 lpszKeyName 引數是 Null 指標,則 *lpszString 包含有效的應用程式清單。 如果 *lpszFileName 是有效的 .dsn 檔案名,而 *lpszAppName 是有效的應用程式名稱,但 lpszKeyName 引數是 Null 指標,則 *lpszString 會在 DSN 檔案的適當區段中包含有效的保留關鍵字清單,並以分號分隔。 如果 *lpszFileName 是有效的 .dsn 檔案名,但 *lpszAppName 是 Null 指標,而 lpszKeyName 引數是 Null 指標,則 *lpszString 會包含 DSN 檔案中以分號分隔的區段清單。

cbString
[輸入]*lpszString 緩衝區的 長度。

pcing
[輸出]*lpszString 可傳回的位元組總數。 如果可用的位元組數目大於或等於 cbString ,則 *lpszString 中的 輸出字串會截斷為 cbString 減去 null 終止字元。 [!][ ] 引數可以是 null 指標。

傳回

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

診斷

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

*pfErrorCode 錯誤 描述
ODBC_ERROR_GENERAL_ERR 一般安裝程式錯誤 發生錯誤,沒有特定的安裝程式錯誤。
ODBC_ERROR_INVALID_BUFF_LEN 不正確緩衝區長度 lpszString 引數為 Null。

cbString 引數小於或等於 0。
ODBC_ERROR_INVALID_PATH 安裝路徑無效 lpszFileName 引數中指定的 檔案名路徑無效。
ODBC_ERROR_INVALID_REQUEST_TYPE 要求類型無效 lpszAppName 引數為 Null,而 lpszKeyName 引數有效。
ODBC_ERROR_OUT_OF_MEM 記憶體不足 由於記憶體不足,安裝程式無法執行函式。
ODBC_ERROR_OUTPUT_STRING_TRUNCATED 輸出字串截斷 *lpszString 中 傳回的字串已截斷,因為 cbString 中的 值小於或等於 *cbString 中的 值。
ODBC_ERROR_REQUEST_FAILED 要求失敗 關鍵字不存在於 DSN 檔案中。

註解

ODBC 會保留用來儲存連接資訊的區段名稱 [ODBC]。 本節的保留關鍵字與 SQLDriverConnect 為連接字串保留的關鍵字相同。 (如需詳細資訊,請參閱 SQLDriverConnect 函式描述。)

應用程式可以使用這些保留關鍵字來讀取檔案 DSN 中的資訊。 如果應用程式想要找出與 File DSN 相關聯的 DSN 無連接字串,它可以針對 [ODBC] 區段中任何保留的連接字串關鍵字呼叫 SQLReadFileDSN 。 在無 DSN 連線中傳遞的完整連接字串是 [ODBC] 區段中所有關鍵詞(保留和驅動程式特定)的組合。

如需下列資訊 請參閱
將資訊寫入檔案 DSN SQLWriteFileDSN