Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The ODBC 3.5 (or higher) Driver Manager supports both ANSI and Unicode versions of all functions that accept pointers to character strings or SQLPOINTER in their arguments. The Unicode functions are implemented as functions (with a suffix of W), not as macros. The ANSI functions (which can be called with or without a suffix of A) are identical to the current ODBC API functions.
Remarks
For Unicode functions that always return or take strings or length arguments, the arguments are passed as count-of-characters. For functions that return length information for server data, the display size and precision are described in number of characters. When a length (transfer size of the data) could refer to string or nonstring data, the length is described in octet lengths. For example, SQLGetInfoW will still take the length as count-of-bytes, but SQLExecDirectW will use count-of-characters.
Count-of-characters refers to the number of bytes (octets) for ANSI functions and the number of WCHAR (16-bit words) for UNICODE functions. In particular, a double-byte character sequence (DBCS) or a multibyte character sequence (MBCS) can be composed of multiple bytes. A UTF-16 Unicode character sequence can be composed of multiple WCHARs.
The following is a list of the ODBC API functions that support both Unicode (W) and ANSI (A) versions:
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
The following is a list of the ODBC Installer and ODBC Translator functions that support both Unicode (W) and ANSI (A) versions:
SQLConfigDataSource
      SQLCreateDataSource
      SQLDataSourceToDriver
      SQLDriverToDataSource
      SQLGetAvailableDrivers
      SQLGetInstalledDrivers
      SQLGetTranslator
      SQLInstallDriver
SQLInstallDriverManager  
      SQLInstallerError  
      SQLInstallODBC  
      SQLReadFileDSN  
      SQLRemoveDSNFromINI  
      SQLValidDSN  
      SQLWriteDSNToINI
Note
Deprecated functions have Unicode-to-ANSI mapping support because the ODBC 3.x Driver Manager supports recompiling ODBC 2.x applications with the UNICODE #define.
This section contains the following topics.