Unicode 函式引數

針對接受指向字元字串或 SQLPOINTER 的指標作為引數的所有函式,ODBC 3.5 (或更新版本) 驅動程式管理員同時支援 ANSI 和 Unicode 版本的函式。 Unicode 函式會實作為函式 (尾碼為 W),而非巨集。 ANSI 函式 (無論有沒有尾碼 A 都可以呼叫) 與目前的 ODBC API 函式相同。

備註

針對一律傳回或取用字串或長度引數的 Unicode 函式,引數會以字元數的方式傳遞。 對於傳回伺服器資料長度資訊的函式,顯示大小和精確度會以字元數來描述。 當長度值 (資料的傳輸大小) 可能指的是字串或非字串資料的長度時,該長度會以八進位長度來描述。 舉例來說,SQLGetInfoW 仍將長度當作位元組數,但 SQLExecDirectW 會使用字元數。

字元數是指 ANSI 函式的位元組數 (八進位) 和 UNICODE 函式 (16 位元字組) 的 WCHAR 數目。 具體來說,雙位元組字元序列 (DBCS) 或多位元組字元序列 (MBCS) 可以由多個位元組組成。 UTF-16 Unicode 字元序列可以由多個 WCHAR 組成。

以下是支援 Unicode (W) 和 ANSI (A) 版本的 ODBC API 函式清單:

SQLBrowseConnect
SQLColAttribute
SQLColAttributes
SQLColumnPrivileges
SQLColumns
SQLConnect
SQLDataSources
SQLDescribeCol
SQLDriverConnect
SQLDrivers
SQLError
SQLExecDirect
SQLForeignKeys
SQLGetConnectAttr
SQLGetConnectOption
SQLGetCursorName
SQLGetDescField
SQLGetDescRec
SQLGetDiagField

SQLGetDiagRec
SQLGetInfo
SQLGetStmtAttr
SQLGetTypeInfo
SQLNativeSql
SQLPrepare
SQLPrimaryKeys
SQLProcedureColumns
SQLProcedures
SQLSetConnectAttr
SQLSetConnectOption
SQLSetCursorName
SQLSetDescField
SQLSetStmtAttr
SQLSpecialColumns
SQLStatistics
SQLTablePrivileges
SQLTables

以下是可同時支援 Unicode (W) 和 ANSI (A) 版本的 ODBC 安裝程式和 ODBC 翻譯工具函式清單:

SQLConfigDataSource
SQLCreateDataSource
SQLDataSourceToDriver
SQLDriverToDataSource
SQLGetAvailableDrivers
SQLGetInstalledDrivers
SQLGetTranslator
SQLInstallDriver

SQLInstallDriverManager
SQLInstallerError
SQLInstallODBC
SQLReadFileDSN
SQLRemoveDSNFromINI
SQLValidDSN
SQLWriteDSNToINI

注意

已淘汰函式受 Unicode 對 ANSI 對應的支援,因為 ODBC 3.x 驅動程式管理員支援用 UNICODE #define 來重新編譯 ODBC 2.x 應用程式。

此章節包含下列主題。