Confused About Difference Between OBDC Driver and OLE DB Provider

We're trying to reconcile what we see under the "ODBC Administrator" application for Windows 7/8 versus what has been referenced on this site under the following drivers/providers:

  • SQL Server Native Client 11.0 OLE DB Provider
  • Microsoft OLE DB Provider for SQL Server
  • SQL Server Native Client 11.0 ODBC Driver

When we look at the "ODBC Administrator" application we see listed both the "SQL Server" driver file "sqlsrv32.dll" and the "SQL Server Native Client 11.0" driver file "sqlncli11.dll".

Here's our confusion:

Why would the "SQL Server Native Client 11.0" driver file "sqlncli11.dll" be listed in the "OBDC Administrator"?

According to the reference on this website the "sqlncli11.dll" is used by the "SQL Server Native Client 11.0 OLE DB Provider" which is an OLEDB provider. So why is it listed as an ODBC driver in the "ODBC Administrator"? See link here and link here

Is the "ODBC Administrator" really referring to "SQL Server Native Client 11.0 ODBC Driver"?

If that is the case that doesn't quite make sense either because the reference on this website says that driver uses the file "sqlncli10.dll" versus the file "sqlncli11.dll" shown in the "ODBC Administrator". See link here.

1 answer

You can try visiting the following pages to understand the SQL Server ODBC and JDBC Drivers:

ODBC Driver for SQL Server

JDBC Driver for SQL Server