分享方式:


驅動程式規格子機碼

ODBC 驅動程式子機碼列出的每個驅動程式都有自己的子機碼。 此子機碼的名稱與 ODBC 驅動程式子機碼的對應值相同。 此子機碼的值列出驅動程式及驅動程式設定 DLL 的完整路徑、SQLDrivers 傳回的驅動程式關鍵字值,以及使用計數。 數值的格式如下表所示。

名稱 資料類型 資料
API Level REG_SZ 0 | 1 | 2
ConnectFunctions REG_SZ {Y|N}{Y|N}{Y|N}
Create DSN REG_SZ 驅動程式-描述
驅動程式 REG_SZ 驅動程式-DLL-路徑
DriverODBCVer REG_SZ nn.nn
FileExtns REG_SZ *. file-extension1[,*. file-extension2]...
檔案使用方法 REG_SZ 0 | 1 | 2
設定 REG_SZ 集合-DLL-路徑
結構化查詢語言 (SQL) 等級 REG_SZ 0 | 1 | 2
UsageCount REG_DWORD 計數

下表呈現每個關鍵字的使用方式。

關鍵字 使用方式
API Level 指出驅動程式支援的 ODBC 介面一致性層級的數字:

0 = 無

1 = 層級 1 支援

2 = 層級 2 支援

這必須與 SQLGetInfo 的 SQL_ODBC_INTERFACE_CONFORMANCE 選項傳回的值相同。
Create DSN 安裝驅動程式時需要建立的一或多個資料來源名稱。 以 CreateDSN 關鍵字列出的每個資料來源,系統資訊必須包含一個資料來源規格區段。 這些區段不應包含 Driver 關鍵字,因為這是在驅動程式規格區段所指定,但必須包含驅動程式設定 DLL ConfigDSN 函式足夠的資訊,才能建立資料來源規格,而不顯示任何對話方塊。 如需資料來源規格區段的格式,請參閱資料來源規格子機碼
連線功能 一個三字元字串,指出驅動程式是否支援 SQLConnectSQLDriverConnect 以及 SQLBrowseConnect。 如果驅動程式支援 SQLConnect,則第一個字元為「Y」;否則為「N」。 如果驅動程式支援 SQLDriverConnect,則第二個字元為「Y」;否則為「N」。 如果驅動程式支援 SQLBrowseConnect,則第三個字元為「Y」;否則為「N」。 例如,如果驅動程式支援 SQLConnectSQLDriverConnect,但不支援 SQLBrowseConnect,則三個字元字串為「YYN」。
DriverODBCVer 具有驅動程式支援 ODBC 版本的字元字串。 版本的格式為 nn.nn,其中前兩位數字是主要版本,而後兩位數字則是次要版本。 針對本手冊所述的 ODBC 版本,驅動程式必須傳回 「03.00」。

這必須與為 SQLGetInfo 的 SQL_DRIVER_ODBC_VER 選項傳回的值相同。
FileExtns 針對檔案型驅動程式,驅動程式可使用的副檔名的逗號分隔清單。 例如,dBASE 驅動程式可能會指定 *.dbf,而格式化的文字檔驅動程式可能會指定 *.txt、*.csv。 如需應用程式如何使用這項資訊的範例,請參閱 檔案使用方法 關鍵字。
檔案使用方法 指出檔案型驅動程式如何直接處理資料來源的檔案的數字。

0 = 此驅動程式不是檔案型驅動程式。 例如,ORACLE 驅動程式是一個以 DBMS 為基礎的驅動程式。

1 = 檔案型驅動程式會將資料來源的檔案作為資料表。 例如,Xbase 驅動程式會將每個 Xbase 檔案作為資料表。

2 = 檔案型驅動程式會將資料來源的檔案視為目錄。 例如,Microsoft Access 驅動程式將每個 Microsoft Access 檔案視為完整的資料庫。

應用程式可能會使用此方式來判斷使用者將如何選取資料。 例如,Xbase 及 Paradox 使用者通常認為資料儲存在檔案,而 ORACLE 與 Microsoft Access 使用者則通常認為資料儲存在資料表。

當使用者從 [檔案] 功能表選取 [開啟資料檔案] 時,應用程式可能會顯示 [Windows 檔案開啟] 通用對話方塊。 檔案類型清單會針對指定 FileUsage 值為 1 及「Y」的驅動程式使用 FileExtns 關鍵字所指定的副檔名,做為 ConnectFunctions 關鍵字值的第二個字元。 使用者選取檔案之後,應用程式將使用 DRIVER 關鍵字呼叫 SQLDriverConnect,然後執行 SELECT * FROM table-name 陳述式。

當使用者從 [檔案] 功能表選取 [匯入資料] 時,應用程式可能會顯示驅動程式描述清單,這些驅動程式將 FileUsage 值指定為 0 或 2,並將「Y」指定為 ConnectFunctions 關鍵字值的第二個字元。 使用者選取驅動程式之後,應用程式將使用 DRIVER 關鍵字呼叫 SQLDriverConnect,然後顯示自訂的 [選取資料表] 對話方塊。
SQL 等級 指出驅動程式支援的 SQL-92 文法的數字:

0 = SQL-92 入門級別

1 = FIPS127-2 過度版本

2 = SQL-92 中等版本

3 = SQL-92 完整版

這必須與 SQLGetInfo 的 SQL_SQL_CONFORMANCE選項傳回的值相同。

如需使用量計數的詳細資訊,請參閱本節先前討論的使用量計數

應用程式不應設定使用量計數。 ODBC 會維持此計數。

例如,假設格式化文字檔的驅動程式具有名為 Text.dll 的驅動程式 DLL、名為 Txtsetup.dll 的個別驅動程式安裝 DLL,並已安裝三次。 如果驅動程式支援第 1 級 API 一致性層級,支援最低 SQL 文法一致性層級、將檔案視為資料表,且可使用具有 .txt 及 .csv 副檔名的檔案,則文字子機碼值可能如下所示:

APILevel : REG_SZ : 1  
ConnectFunctions : REG_SZ : YYN  
Driver : REG_SZ : C:\WINDOWS\SYSTEM32\TEXT.DLL  
DriverODBCVer : REG_SZ : 03.00.00  
FileExtns : REG_SZ : *.txt,*.csv  
FileUsage : REG_SZ : 1  
Setup : REG_SZ : C:\WINDOWS\SYSTEM32\TXTSETUP.DLL  
SQLLevel : REG_SZ : 0  
UsageCount : REG_DWORD : 0x3