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 应用程序。
本部分包含以下主题。