Search code examples
sql-serverodbcdsn

Differences Between Drivers for ODBC Drivers


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?


Solution

  • 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.