0% found this document useful (0 votes)
704 views

ODBC Driver For SQL Server Vs SQL Server Native Client

This document discusses the differences between four ODBC drivers for connecting to SQL Server from Access: ODBC Driver 11 for SQL Server, SQL Server, SQL Server Native Client 11.0, and SQL Server Native Client RDA 11.0. The ODBC Driver 11 for SQL Server is the latest and recommended driver. SQL Server Native Client also works but may not support the latest features. SQL Server Native Client RDA is older and should be avoided. Overall, ODBC Driver 11 for SQL Server is the best choice.

Uploaded by

tetkaC
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
704 views

ODBC Driver For SQL Server Vs SQL Server Native Client

This document discusses the differences between four ODBC drivers for connecting to SQL Server from Access: ODBC Driver 11 for SQL Server, SQL Server, SQL Server Native Client 11.0, and SQL Server Native Client RDA 11.0. The ODBC Driver 11 for SQL Server is the latest and recommended driver. SQL Server Native Client also works but may not support the latest features. SQL Server Native Client RDA is older and should be avoided. Overall, ODBC Driver 11 for SQL Server is the best choice.

Uploaded by

tetkaC
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 9

ODBC Driver for SQL Server vs SQL Server

Native Client
Ask Question
Asked 4 years, 10 months ago
Active 1 year, 8 months ago
Viewed 8k times
0
If I use linked tables in Access 2010 to connect via ODBC to SQL Server 2014 Express, which driver
is better?

 ODBC Driver 11 for SQL Server


 SQL Server Native Client 11.0

The image shows the possibilities of drivers one can use while creating a new data source.

As per my re-search I found that the "Native Drivers" also supports OLEDB.

Can someone give an objective answer about which driver is better?

sql-server ms-access odbc driver database-connectivity
share  improve this question  follow 
edited Dec 16 '15 at 5:16
Mohammed Zameer
19.2k1414 gold badges101101 silver badges172172 bronze badges
asked Aug 13 '15 at 18:41

Brian Lorraine
14311 silver badge1212 bronze badges
 FYI: I'm currently using DSN-less connections. I created Tabledef's to link the tables with VBA so
it's working with that now, but given that I really want to separate the connectivity and the VBA/Access
programming, this is the reason I'm going back to DSN's. If there are any connectivity issues, I'd like to
have a non-Access programmer be able to help with less problems. – Brian Lorraine Aug 13 '15 at 18:43
 Whether or not you use a DSN, you still need an ODBC driver. According to the following link, the
ODBC Driver 11 is the latest and greatest. – AVG Aug 13 '15 at 20:46
 So you're saying that if I install the Native drivers only, it won't work, because I have to have
both? – Brian Lorraine Aug 16 '15 at 3:26
 No, you only need one driver. Your question was, which is better. I tried to provide the link, but
forgot that links don't display in SO comments. Do a web search for "Introducing the new Microsoft ODBC
Drivers for SQL Server" and you will find it. NC 10 was for SQL Server 2008 and NC 11 was for SQL
Server 2012. Typically you are better off using the driver for your version of SQL Server or
later. – AVG Aug 16 '15 at 10:25
 Sorry, I wasn't really asking the diff between Native client 10 and 11. In the screenshot above
look at the first and last ("ODBC Driver 11 for SQL Server" and "SQL Server Native Client 11". Are they
the same thing? Both seem to work as far as basic connectivity. I'm just wondering if I should use one or
the other. Forget the two drivers in the middle – Brian Lorraine Aug 17 '15 at 17:54
show 1 more comment
2 Answers
ActiveOldestVotes
1
Native Client has been superseded by the ODBC Driver which Microsoft has standardized on. The
Native Clients were originally for accessing features in Server 2005 and higher that the older ODBC
driver ("SQL Server") could not access.

share  improve this answer  follow 


answered Jul 22 '16 at 19:03

MachineGhost
9655 bronze badges
 1
Any reference for this? – slayernoah Oct 19 '17 at 21:27
add a comment
1
SQL Server Native Client can be used for both SQL OLE DB provider and SQL ODBC driver for
Windows. It depends on if you need to connect to SQL Server using both these 2 different methods.
The following 2 points should be noted when choosing SQL native client.

SNAC 11 is a single dynamic-link library (DLL) containing both the SQL OLE DB provider and
SQL ODBC driver for Windows.
https://blogs.msdn.microsoft.com/sqlreleaseservices/snac-lifecycle-explained/
Also, you should notice that

OLE DB data access technology had been deprecated before. However, it is undeprecated now.

With this in mind, we have decided to undeprecate OLE DB data access technology, and release a
new version by March 2018.
https://blogs.msdn.microsoft.com/sqlnativeclient/2017/10/06/announcing-the-new-release-of-ole-db-
driver-for-sql-server/
share  improve this answer  follow 
answered Oct 11 '18 at 3:12

user3200692
674

Differences Between Drivers for ODBC


Drivers
Ask Question
Asked 3 years, 9 months ago
Active 7 months ago
Viewed 31k times
31
16
I was setting up the System DSN (64 bit) for my database in SQL server 2016 with Windows 10 64
bit pro. While I was asked to choose the driver to set up a data source, there are the following
selections:

 ODBC Driver 13 for SQL Server


 SQL Server
 SQL Server Native Client 11.0
 SQL Server Native Client RDA 11.0
It seemed I can set up the data source with all of these drivers. Then which one should I choose in
terms of speed and efficiency? What's the difference between them?

Thanks,

Jason

sql-server odbc dsn
share  improve this question  follow 
asked Sep 11 '16 at 19:47
Jason
79811 gold badge77 silver badges2020 bronze badges
add a comment
5 Answers

Active OldestVotes
36
ODBC Driver for SQL Server
ODBC is the primary native data access API for applications written in C,C++, PHP, Python and
others for connecting to SQL Server.

It's widely used in data integration scenarios.

Also, it's preferred if you are developing application on Windows and deploying it to Linux .

SQL Server
The full name of SQL Server Driver is SQL Server ODBC Driver. It’s an old driver since sql 2000.
You can use it to connect to SQL Server 2016, but you will not be able to access new features and
functionality of SQL Server 2016

SQL Server Native Client


SQL Server Native Client is containing both the SQL OLE DB provider and SQL ODBC driver to
support native connectivity to SQL Server and support all features of sql server 2016. It's the best in
windows environment

SQL Server Native Client RDA


Remote data access (RDA) in Microsoft SQL Server Compact 3.5 lets an application access data
from a remote SQL Server database table.

It can also store, read, and update that data in SQL Server Compact 3.5, and then update the original
SQL Server table.

RDA will be removed in the future release, so avoid using it.

So choose sql driver based on the criteria above.

share  improve this answer  follow 


answered Sep 11 '16 at 21:24

M.Hassan
6,08533 gold badges3333 silver badges5454 bronze badges
 Thanks for your clear answer! I'd like to understand the concepts related to infrastructures of sql
server, such as driver and provider. Can you refer me to some resources easy to follow?
Thanks! – Jason Sep 11 '16 at 22:20
 Welcome. NET Framework Data Providers: {msdn.microsoft.com/en-
us/library/a6cd7c08(v=vs.110).aspx} What's the difference between database driver and data provider:
{social.msdn.microsoft.com/Forums/sqlserver/en-US/…} – M.Hassan Sep 11 '16 at 22:36
 3
@M.Hassan,, "ODBC Driver 13 for SQL Server" is the latest Microsoft ODBC driver for SQL Server. The
SQL Server Native Client 2012 ODBC driver has not changed since the SQL 2012 release. – Dan
Guzman Sep 12 '16 at 1:20
 Using python (pyodbc) I tested the throughput of the SQL Server, ODBC Driver 13 for SQL
Server, and SQL Server Native Client 11.0 drivers. The SQL Server driver was consistently over 10%
slower than the other two options for select statements and around 50% slower for insert statements. So
on that I'd recommend either the Native Client or ODBC driver. – AndyMc Jul 17 '18 at 22:41
 @M.Hassan I found an interesting question regarding SQL Server ODBC
Driver(SQLSRV32.dll) serverfault.com/questions/82007/… the other two options worked well. I want to know
how to get SQLSRV32 version connectivity work, could you have a look on this? – Kevin Xiong Apr 28 at
16:50
add a comment
9
Microsoft ODBC Driver for SQL Server (MSODBCSQL)
This driver was announced in 2013 as the successor to SQL Server Native Client. It is installed with
recent SQL Server versions (13 with 2016 and 2017). There are also standalone installers. Driver
history for Microsoft SQL Server recommends this driver in preference to "SQL Server" and "SQL
Server Native Client" for ODBC. Added features over "SQL Server Native Client": driver-aware
connection pooling, connection resiliency, and asynchronous execution (polling). You can follow
current development on the Microsoft ODBC Driver For SQL Server Team blog.
Driver={ODBC Driver XX for SQL Server}  (XX for installed version. See System Requirements,
Installation, and Driver Files.)
SQL Server Native Client (SQLNCLI)
Introduced with SQL Server 2005 and ships with SQL Server (also installable via sqlncli.msi from
SQL Server feature packs). Added features over "SQL Server": Multiple active result sets (MARS),
user-defined data types (UDT), query notifications, snapshot isolation, and XML data type support.
Driver={SQL Server Native Client}  (SQL Server 2005)
Driver={SQL Server Native Client 10.0}  (SQL Server 2008)
Driver={SQL Server Native Client 11.0}  (SQL Server 2012 and later)
SQL Server Native Client RDA
Remote Data Access (RDA) is a SQL Server Compact feature which "lets an application access data
from a remote SQL Server database table." I can't find much documentation, but it appears this driver
was intended to support replication scenarios with Compact Edition.

SQL Server (SQLSRV32)


Included in Microsoft Data Access Components (MDAC) (now called Windows Data Access
Components (WDAC)). This driver is available by default on Windows (since 98 and NT 4.0).
Driver={SQL Server}
share  improve this answer  follow 
answered Jan 15 '19 at 21:22

Kevinoid
1,4301818 silver badges1515 bronze badges
add a comment
2
SQL Server Native client vs .NET Framework Data Provider for ODBC

It seems that for last version for SQL Server Native client, the Microsoft® SQL Server® 2012
Native Client also named as SQL Server native client 11.0. Doesn’t support new feature in SQL
Server 2014 or later

Note that SNAC 11 does not support features released with SQL Server 2014 and SQL Server 2016
that were not available as part of SQL Server 2012, such as Transparent Network IP Resolution,
Always Encrypted, Azure AD Authentication, Bulk Copy and Table Value Parameters.
https://blogs.msdn.microsoft.com/sqlreleaseservices/snac-lifecycle-explained/
You have to use Microsoft® ODBC Driver 11 or 13 for SQL Server to enjoy new feature in SQL
Server 2014 or later

share  improve this answer  follow 


answered Jul 16 '18 at 10:10

user3200692
6744 bronze badges
add a comment
2
To check which drivers you have installed, fire up an powershell (32/64 bit - depending which driver
architecture you want to use) and run

OLEDB
(New-Object System.Data.OleDb.OleDbEnumerator).GetElements() | select SOURCES_NAME,
SOURCES_DESCRIPTION
ODBC
Get-OdbcDriver | select Name,Platform

Overview
https://docs.microsoft.com/en-us/sql/connect/connect-history#odbc
There are three distinct generations of Microsoft ODBC drivers for SQL Server.

 The first "SQL Server" ODBC driver still ships as part of Windows Data Access
Components. It is not recommended to use this driver for new development.
 Starting in SQL Server 2005, the SQL "Server Native Client 10.x/11.x/12.x" includes an
ODBC interface and is the ODBC driver that shipped with SQL Server 2005 through SQL
Server 2012. It is not recommended to use this driver for new development.
 After SQL Server 2012, the Microsoft ODBC Driver for SQL Server is the driver that is
updated with the most recent server features going forward.

SQL Server
It's the old one from the MDAC-package (https://support.microsoft.com/en-us/help/899456) which
now (since XP/2003) comes with the Windows-OS. https://docs.microsoft.com/en-
us/sql/connect/connect-history#mdacwdac-releases
https://docs.microsoft.com/en-us/sql/relational-databases/native-client/applications/updating-an-
application-to-sql-server-native-client-from-mdac
...starting with Windows Vista, the data access components are now called Windows Data Access
Components, or Windows DAC). Although both provide native data access to SQL Server databases,
SQL Server Native Client has been specifically designed to expose the new features of SQL
Server 2005 (9.x), while at the same time maintaining backward compatibility with earlier versions.

SQL Server Native Client


https://docs.microsoft.com/en-us/sql/connect/connect-history#odbc
SQL Server Native Client is a stand-alone library that is used for both OLE DB and ODBC. SQL
Server Native Client (often abbreviated SNAC) was included in SQL Server 2005 through 2012.
SQL Server Native Client can be used for applications that need to take advantage of new features
introduced in SQL Server 2005 through SQL Server 2012. (Microsoft/Windows Data Access
Components are not updated for these new features in SQL Server.) For new features beyond SQL
Server 2012, SQL Server Native Client will not be updated. Switch to the Microsoft ODBC Driver
for SQL Server or the Microsoft OLE DB Driver for SQL Server if you want to take advantage
of new SQL Server features going forward.

SQL Server Native Client RDA


Came with .NET Compact Framework 3.5

ODBC Driver for SQL Server


https://docs.microsoft.com/en-us/sql/connect/connect-history#odbc
After SQL Server 2012, the primary ODBC driver for SQL Server has been developed and
released as the Microsoft ODBC Driver for SQL Server.

MSOLEDBSQL - Microsoft OLE DB Driver for SQL Server


This driver has been deprecated and later undeprecated:
https://docs.microsoft.com/en-us/sql/connect/oledb/oledb-driver-for-sql-server#3-microsoft-ole-db-
driver-for-sql-server-msoledbsql
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. To use the new Microsoft OLE DB Driver for SQL Server in existing applications, you
should plan to convert your connection strings from SQLOLEDB or SQLNCLI, to
MSOLEDBSQL. https://blogs.msdn.microsoft.com/sqlnativeclient/2018/03/30/released-microsoft-
ole-db-driver-for-sql-server/
Summary
Try to use the future proof drivers:

 ODBC - https://docs.microsoft.com/en-us/sql/connect/odbc/bug-fixes
 OLEDB - https://docs.microsoft.com/en-us/sql/connect/oledb/release-notes-for-oledb-driver-
for-sql-server
share  improve this answer  follow 
edited May 22 '19 at 8:55
answered May 22 '19 at 8:48

Bernhard
1,6891515 silver badges2020 bronze badges
add a comment
1
As mentioned earlier in this post, the later version of the ODBC driver (13 and after) give you access
to the more advanced features available in SQL Server 2014, 2016, etc.

However, there are conflicting Microsoft posts on whether the ODBC Version 17 driver supports
SQL Server 2012 or not.

This link says you have to use ODBC 13 for SQL Server 2012: SQL Server Driver Versions
However, if you look at the download for the ODBC Version 17, it indicates it support for SQL
Server 2012 (and older versions of SQL Server).

Microsoft® ODBC Driver 17 for SQL Server® - Windows, Linux, & macOS
So perhaps the ODBC Version 17 driver is (at least) backwards compatible with older versions of
SQL Server.

Hope this helps!

Jon

share  improve this answer  follow 


answered Nov 19 '19 at 15:33

Jon Byrd
212

You might also like