SQL Server Native Client (SNAC) is not supported beyond SQL Server 2012. Avoid using SNAC in new development work, and plan to modify applications that currently use it. The Microsoft ODBC Driver for SQL Server provides native connectivity from Windows to Microsoft SQL Server and Microsoft Azure SQL Database.
When requesting row identifiers (IdentifierType SQL_BEST_ROWID), SQLSpecialColumns returns an empty result set (no data rows) for any requested scope other than SQL_SCOPE_CURROW. The generated result set indicates that the columns are only valid within this scope.
SQL Server does not support pseudocolumns for identifiers. The SQLSpecialColumns result set will identify all columns as SQL_PC_NOT_PSEUDO.
SQLSpecialColumns can be executed on a static cursor. An attempt to execute SQLSpecialColumns on an updatable (keyset-driven or dynamic) returns SQL_SUCCESS_WITH_INFO indicating the cursor type has been changed.
For information about the values returned for the columns DATA_TYPE, TYPE_NAME, COLUMN_SIZE, BUFFER_LENGTH, and DECIMAL_DIGTS for date/time types, see Catalog Metadata.
For more general information, see Date and Time Improvements (ODBC).
SQLSpecialColumns supports large CLR user-defined types (UDTs). For more information, see Large CLR User-Defined Types (ODBC).