Fixing “The provider ‘SQLNCLI11’ is not registered” on 64-bit systems.

The error “The provider ‘SQLNCLI11’ is not registered” occurs when 64-bit Excel, Power Query, or a VBA script attempts to connect to SQL Server using the SQL Server Native Client 11.0 driver, but Windows cannot locate a registered 64-bit version of the dynamic-link library (sqlncli11.dll). This problem is almost always caused by an architecture mismatch—such as running 64-bit Microsoft Office on a system where only the 32-bit client driver was installed—or because Microsoft deprecated and omitted the driver on newer machines.

Quick Answer

To fix “The provider ‘SQLNCLI11’ is not registered” on 64-bit systems, download and install the 64-bit Microsoft SQL Server 2012 Native Client (sqlncli.msi), or update your connection string to use the modern Microsoft OLE DB Driver for SQL Server by replacing Provider=SQLNCLI11; with Provider=MSOLEDBSQL;.


Why the Error Happens on 64-Bit Excel

When you open a workbook or execute an ADO/OLE DB connection string in Excel, the process architecture determines which driver Windows searches for. If you run 64-bit Excel, the application queries the 64-bit Windows Registry path (HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID) to locate SQLNCLI11.

If a legacy database tool, accounting program, or client installer only registered the 32-bit driver (located under SysWOW64), 64-bit Excel will never see it. Furthermore, Microsoft officially deprecated SQL Server Native Client (SQLNCLI) and removed it from modern Windows installations and recent SQL Server feature packs, directing users toward the standalone Microsoft OLE DB Driver (MSOLEDBSQL).

To diagnose connection errors across your reporting stack, see Troubleshooting SQL Connection Failures: Fixing ODBC and Provider Errors.


Step-by-Step Fixes

The most permanent fix is migrating away from the deprecated SQLNCLI11 provider to the actively maintained Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL).

  1. Download and install the latest Microsoft OLE DB Driver for SQL Server (x64) from Microsoft.
  2. In Excel, go to the Data tab and select Queries & Connections.
  3. Right-click your connection, choose Properties, and open the Definition tab.
  4. Locate the Connection String box.
  5. Find:
    Provider=SQLNCLI11;
  6. Replace it with:
    Provider=MSOLEDBSQL;
  7. Click OK and refresh your data.

If you are using VBA with ADODB objects, update your code string directly:

' Old legacy connection string
cn.ConnectionString = "Provider=SQLNCLI11;Data Source=MyServer;Initial Catalog=MyDb;Integrated Security=SSPI;"

' Updated modern connection string
cn.ConnectionString = "Provider=MSOLEDBSQL;Data Source=MyServer;Initial Catalog=MyDb;Integrated Security=SSPI;"

Method 2: Install the 64-bit SQL Server Native Client 11.0

If you cannot modify the workbook connection string or VBA code—for instance, when working with locked corporate templates or third-party add-ins—you must install the 64-bit driver binary directly.

  1. Download the Microsoft SQL Server 2012 Feature Pack from the official Microsoft Download Center.
  2. Expand the Install Instructions section and locate sqlncli.msi.
  3. Ensure you choose the file named ENUS\x64\sqlncli.msi (do not select the x86 version).
  4. Run the installer with administrative privileges.
  5. Restart Excel completely and test the connection.

Method 3: Verify Office Bitness vs. Driver Registration

If you already installed the driver and the error persists, verify whether your Excel installation matches the installed driver:

  1. Open Excel and click File > Account.
  2. Click About Excel.
  3. Check the top line of the dialog box to confirm whether it specifies 64-bit or 32-bit.
  4. Open the Windows command prompt as Administrator and verify registration:
    • For 64-bit Excel, check if C:\Windows\System32\sqlncli11.dll exists.
    • Run: regsvr32 C:\Windows\System32\sqlncli11.dll
  5. If you receive a registration success notification, reopen Excel.

For related bitness and macro compatibility issues, review 32-bit vs. 64-bit: Fixing “The code in this project must be updated for use on 64-bit systems.”


What If the Fix Fails?

If reinstalling or switching providers still produces an error, check the following diagnostic branches: