title | description | author | ms.author | ms.reviewer | ms.date | ms.service | ms.subservice | ms.topic |
---|---|---|---|---|---|---|---|---|
SQL Server Native Client |
Learn about the features of SQL Server Native Client (SNAC). SQL Server Native Client refers to ODBC and OLE DB drivers for SQL Server. |
markingmyname |
maghan |
randolphwest, vanto |
09/11/2024 |
sql |
native-client |
conceptual |
[!INCLUDE SQL Server Azure SQL Database Synapse Analytics PDW]
SQL Server Native Client, also known as SNAC or SQLNCLI, refers to the ODBC and OLE DB drivers for SQL Server, prior to [!INCLUDE sssql22-md].
Important
[!INCLUDE snac-removed-oledb-and-odbc]
Note
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 [!INCLUDE ssNoVersion] Native Client features released with [!INCLUDE ssSQL11], the last available version of SQL Server native Client:
- SQL Server Native Client Support for LocalDB
- Metadata Discovery
- UTF-16 Support in SQL Server Native Client 11.0
- SQL Server Native Client Support for High Availability, Disaster Recovery
- Accessing Diagnostic Information in the Extended Events Log
ODBC in [!INCLUDE ssNoVersion] 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 [!INCLUDE ssNoVersion] 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 articles describe [!INCLUDE ssNoVersion] Native Client behavior changes in [!INCLUDE ssSQL11].
-
The value passed to the
pwszName
parameter must be a valid identifier when callingICommandWithParameters::SetParameterInfo
. For more information, see ICommandWithParameters. -
SQLDescribeParam
consistently returns an ODBC specification conforming value. For more information, see SQLDescribeParam. -
ODBC Driver Behavior Change When Handling Character Conversions