.Net provider vs native OLEDB

sakuraime 2,326 Reputation points
2021-07-24T13:09:28.797+00:00

What are the differences between the following highlighted ?

117575-image.png

Native OLE DB
Microsoft OLE DB Driver for SQL Server
SQL Server Native Client 11

.Net Providers
Sqlclient Data provider

.NetProviders oleDB
Microsoft OLE DB Driver for SQL Server
SQL Server Native Client 11

SQL Server
SQL Server
A family of Microsoft relational database management and analysis systems for e-commerce, line-of-business, and data warehousing solutions.
13,992 questions
{count} votes

2 answers

Sort by: Most helpful
  1. Dan Guzman 9,236 Reputation points
    2021-07-24T16:46:29.107+00:00

    "Microsoft OLE DB Driver for SQL Server" is the SQL Server OLE DB driver that ships with Windows. This is included with the OS for backwards compatibility with legacy applications and not intended to be used for new development. It is unaware of SQL Server data types introduced after SQL 2000.

    "SQL Server Native Client 11" is SQL Server 2012 native client, which includes OLE DB and ODBC support. This is not included with the OS. It may be installed stand-alone or bundled with other software, such as SQL Server. I'll add a newer OLE DB driver is available (MSOLEDBSQL) but apparently not installed here.

    "SqlClient Data provider" is the .NET provider for SQL Server included with the .NET framework.

    Note that all the drivers under the "Native OLE DB" list also appear under ".Net Providers for OleDb". These are the same drivers with the only difference being how they might be used. .NET applications must use System.Data.OleDb ADO.NET objects in order to use unmanaged OLE DB drivers (under ".Net Providers for OleDb"). But it is preferred to use a managed provider in .NET applications when possible to avoid the unmanaged interop performance penalty. For SQL Server, that is either System.Data.SqlClient or Microsoft.Data.SqlClient.


  2. Yitzhak Khabinsky 25,956 Reputation points
    2021-07-25T17:32:17.943+00:00

    Hi @sakuraime ,

    (1) Microsoft OLE DB Provider for SQL Server (SQLOLEDB)

    > It is not maintained anymore and it is not recommended to use this driver for new development.

    (2) SQL Server Native Client (SNAC)

    > It was announced as deprecated in 2011 and it is not recommended to use this driver for new development.

    (3) Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL) is the latest

    > The new OLE DB provider is called the Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL). The new provider will be updated with the most recent server features going forward.

    You can read about all of them directly from Microsoft:


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.