SQL Server Native Client
SNAC, or SQL Server Native Client, is a term that has been used interchangeably to refer to ODBC and OLE DB drivers for SQL Server.
The SQL Server Native Client (SQLNCLI) remains deprecated and it is not recommended to use it for new development work. Instead, use the new Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL) which will be updated with the most recent server features.
For more information and to download the SNAC or ODBC Drivers, see the SNAC lifecycle explained blog post. For more information on ODBC Driver for SQL Server, see Microsoft ODBC Driver for SQL Server.
Information on the SQL Server Native Client features released with SQL Server 2012 (11.x), the last available version of SQL Server native Client:
ODBC in SQL Server Native Client supports three features that were added to standard ODBC in the Windows 7 SDK:
Asynchronous execution on connection-related operations. For more information, see Asynchronous Execution.
C Data Type Extensibility. For more information, see C Data Types in ODBC.
To support this feature in SQL Server Native Client, SQLGetDescField can return SQL_C_SS_TIME2 (for time types) or SQL_C_SS_TIMESTAMPOFFSET (for datetimeoffset) instead of SQL_C_BINARY, if your application uses ODBC 3.8. For more information, see Data Type Support for ODBC Date and Time Improvements.
Calling SQLGetData with a small buffer multiple times to retrieve a large parameter value. For more information, see Retrieving Output Parameters Using SQLGetData.
The following topics describe SQL Server Native Client behavior changes in SQL Server 2012 (11.x).
When calling ICommandWithParameters::SetParameterInfo, the value passed to the pwszName parameter must be a valid identifier. For more information, see ICommandWithParameters.
SQLDescribeParam will consistently return an ODBC specification conforming value. For more information, see SQLDescribeParam.