| title | When to Use | |||
|---|---|---|---|---|
| ms.custom | ||||
| ms.date | 03/14/2017 | |||
| ms.prod | sql | |||
| ms.reviewer | ||||
| ms.technology | native-client | |||
| ms.topic | reference | |||
| helpviewer_keywords |
|
|||
| ms.assetid | 08f18b36-209d-4cf7-9623-ebc61859a91d | |||
| author | markingmyname | |||
| ms.author | maghan | |||
| monikerRange | >=aps-pdw-2016||=azuresqldb-current||=azure-sqldw-latest||>=sql-server-2016||=sqlallproducts-allversions||>=sql-server-linux-2017||=azuresqldb-mi-current |
[!INCLUDEappliesto-ss-asdb-asdw-pdw-md]
[!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