title | description | author | ms.author | ms.date | ms.service | ms.subservice | ms.topic | helpviewer_keywords | |||
---|---|---|---|---|---|---|---|---|---|---|---|
When to Use |
Decide whether to use SQL Server Native Client, which is one of several technologies that you can use to access data in a SQL Server database. |
markingmyname |
maghan |
03/14/2017 |
sql |
native-client |
reference |
|
[!INCLUDESQL Server Azure SQL Database Synapse Analytics PDW]
Important
[!INCLUDEsnac-removed-oledb-and-odbc]
[!INCLUDEssNoVersion] Native Client is one technology that you can use to access data in a [!INCLUDEssNoVersion] database. For a discussion of the different data-access technologies, see Data Access Technologies Road Map
When deciding whether to use [!INCLUDEssNoVersion] Native Client as the data access technology of your application, you should consider several factors.
For new applications, if you're using a managed programming language such as Microsoft Visual C# or Visual Basic, and you need to access the new features in [!INCLUDEssNoVersion], you should use the .NET Framework Data Provider for [!INCLUDEssNoVersion], which is part of the .NET Framework.
If you are developing a COM-based application and need to access the new features introduced in [!INCLUDEssNoVersion], you should use [!INCLUDEssNoVersion] Native Client. If you don't need access to the new features of [!INCLUDEssNoVersion], you can continue to use Windows Data Access Components (WDAC).
For existing OLE DB and ODBC applications, the primary issue is whether you need to access the new features of [!INCLUDEssNoVersion]. If you have a mature application that does not need the new features of [!INCLUDEssNoVersion], you can continue to use WDAC. But if you do need to access those new features, such as the xml data type, you should use [!INCLUDEssNoVersion] Native Client.
Both [!INCLUDEssNoVersion] Native Client and MDAC support read committed transaction isolation using row versioning, but only [!INCLUDEssNoVersion] Native Client supports snapshot transaction isolation. (In programming terms, read committed transaction isolation with row versioning is the same as Read-Committed transaction.)
For information about the differences between [!INCLUDEssNoVersion] Native Client and MDAC, see Updating an Application to SQL Server Native Client from MDAC.
SQL Server Native Client Programming
ODBC How-to Topics
OLE DB How-to Topics