Unicode 函数自变量

ODBC 3.5(或更高版本)驱动程序管理器支持所有函数的 ANSI 和 Unicode 版本,这些函数在其参数中接受指向字符串或 SQLPOINTER 的指针。 Unicode 函数作为函数(后缀为 W)实现,而不是作为宏实现。 ANSI 函数(可以使用或不使用后缀 A 调用)与当前的 ODBC API 函数相同。

注解

对于始终返回或采用字符串或长度参数的 Unicode 函数,参数作为字符计数的形式传递。 对于返回服务器数据长度信息的函数,以字符数来表示显示大小和精度。 当长度(数据的传输大小)可以引用字符串或非字符串数据时,长度以八进制长度描述。 例如,SQLGetInfoW 仍然将长度作为字节计数,但 SQLExecDirectW 将使用字符计数。

字符计数是指 ANSI 函数的字节数(八进制数),以及 UNICODE 函数的 WCHAR 数(16 位字)。 具体而言,双字节字符序列 (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 Installer 和 ODBC Translator 函数的列表:

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 应用程序。

本部分包含以下主题。