'Microsoft.ACE.OLEDB.16.0' provider is not registered on the local machine. (System.Data)

Sql ServerExcelSsisOledbAceoledb

Sql Server Problem Overview


I get this error when I try to connect to any excel through MSSQL Server Data Import i.e. SSIS package The Microsoft.ACE.OLEDB.16.0 provider is not registered on the local machine. (System.Data)

It is not the same version I think some other patching is needed

Sql Server Solutions


Solution 1 - Sql Server

For anyone that is still stuck on this issue after trying the above. If you are right-clicking on the database and going to tasks->import, then here is the issue. Go to your start menu and under sql server, find the x64 bit import export wizard and try that. Worked like a charm for me, but it took me FAR too long to find it Microsoft!

Solution 2 - Sql Server

Note: I am running SQL 2016 Developer 64bit, Office 2016 64bit.

I had the same issue and solved it by downloading the following:

  1. Download and install this: https://www.microsoft.com/en-us/download/details.aspx?id=54920

  2. Whatever file you are trying to access/import, make sure you select it as a Office 2010 file (even though it might be a Office 2016 file).

It works.

Source

Solution 3 - Sql Server

As a quick workaround I just saved the workbook as an Excel 97-2003 .xls file. I was able to import with that format with no error.

Solution 4 - Sql Server

If you have OS(64bit) and SSMS(64bit) and already install the AccessDatabaseEngine(64bit) and you still received an error, try this following solutions:

1: direct opening the sql server import and export wizard.

if you able to connect using direct sql server import and export wizard, then importing from SSMS is the issue, it's like activating 32bit if you import data from SSMS.

Instead of installing AccessDatabaseEngine(64bit) , try to use the AccessDatabaseEngine(32bit) , upon installation, windows will stop you for continuing the installation if you already have another app installed , if so , then use the following steps. This is from the MICROSOFT. The Quiet Installation.

If Office 365 is already installed, side by side detection will prevent the installation from proceeding. Instead perform a /quiet install of these components from command line. To do so, download the desired AccessDatabaseEngine.exe or AccessDatabaeEngine_x64.exe to your PC, open an administrative command prompt, and provide the installation path and switch Ex: C:\Files\AccessDatabaseEngine.exe /quiet

or check in the Addition Information content from the link below,

<https://www.microsoft.com/en-us/download/details.aspx?id=54920>

Solution 5 - Sql Server

An alternative that works for me is to simply convert to a CSV.

Solution 6 - Sql Server

ACE.oledb.16.0 dosen't work in the 64-bit os

download patch from https://www.microsoft.com/en-us/download/details.aspx?id=13255

Solution 7 - Sql Server

Against other answers here, you can just install "ACEDB driver 64-bit" next to the other 64-bit Microsoft program.

In my case, I had "Microsoft 365" 64-bit (Microsoft Office 365) installed.

Because of the error

> 'Microsoft.ACE.OLEDB.16.0' provider is not registered on the local > machine. (System.Data)

I tried installing Microsoft Access Database Engine 2016 Redistributable. But I got errors for 32-bit and 64-bit installers.

64-bit:

> You cannot install the 64-bit version of Microsoft Access Database > Engine 2016 because you currently have 64-bit Office products > installed. If you want to install 32-bit Microsoft Access Database > Engine 2016, you will first need to remove the 64-bit installation of > Office products. After uninstalling the following product(s), rerun > setup in order to install 32-bit version of Microsoft Access Database > Engine 2016: Office 16 Click-to-Run Extensibility Component 64-bit > Registration

or 32-bit:

> You cannot install the 32-bit version of Microsoft Access Database > Engine 2016 because you currently have 64-bit Office products > installed. If you want to install 32-bit Microsoft Access Database > Engine 2016, you will first need to remove the 64-bit installation of > Office products. After uninstalling the following product(s), rerun > setup in order to install 32-bit version of Microsoft Access Database > Engine 2016: Office 16 Click-to-Run Extensibility Component 64-bit > Registration

I could not uninstall single components:

enter image description here

The steps:

  1. No need to uninstall and reinstall anything.

  2. Press "Download" at Microsoft Access Database Engine 2016 Redistributable

enter image description here

  1. Choose AccessDatabaseEngine_X64.exe. No need to install 32-bit AccessDatabaseEngine.exe, against other answers.

enter image description here

  1. Run the executable from command prompt:

    C:\Users\myuser\Downloads>AccessDatabaseEngine_X64.exe /quiet
    
  2. Press OK for the administrator rights if asked for.

After this, my macro could fetch data from an Excel worksheet. I checked my local Microsoft Access of the Microsoft 365 package and it still worked.

Credits go to You cannot install the 32/64 bit version of Microsoft Access Database Engine because you currently have 64/32 bit Office and its source at How to install Microsoft.Ace.oledb 32 bit with Office 64-bit?.

Solution 8 - Sql Server

If you have Office 365:

  1. Download 32 Bit version here
  2. Run Command Prompt as Administrator --> C:\Downloads\AccessDatabaseEngine.exe /quiet
  3. Close SSMS & Reopen, Try Importing File again.

Doesnt work?

  1. Download 64 bit version here
  2. Run Command Prompt as Administrator --> C:\Downloads\AccessDatabaseEngine_X64.exe /quiet
  3. Close SSMS & Reopen, Import File.

Note: Path to dowbloaded executable might be "C:\Downloads\User\USERNAME\Downloads\AccessDatabaseEngine.exe" for example

Solution 9 - Sql Server

You have to use now the new XLSX-Driver from Access-Redist (32/64-Bit). The current XLS-Driver are corrupted since last cumulative update.

Solution 10 - Sql Server

After having both installed the Microsoft Access Database Engine 2016 Redistributable and found the x64 bit import export wizard as instructed in the answers above, I had one last hoop to jump through. I got this error 'Executing the query "CREATE TABLE ...." failed with the following error: "Culture is not supported ... 3072 (0x0c00) is an invalid culture identifier."'

The fix was to go to Control Panel -> Clock and Region -> change my "English (Finland)" region to pure Finnish (Finland). Other more traditional cultures such as en-US will work too. I think I first saw this solution here: Fix culture is not supported: 3072 by changing Region Formats

Solution 11 - Sql Server

Follow these steps:

  1. Go [here][1], download Microsoft Access Database Engine 2016 Redistributable and install
  2. Close SQL Server Management Studio
  3. Go to Start Menu -> Microsoft SQL Server 2017 -> SQL Server 2017 Import and Export Data (64-bit)
  4. Open the application and try to import data using the "Excel 2016" option, it should work fine.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionSuhail Abdul Rehman ChouguleView Question on Stackoverflow
Solution 1 - Sql ServerPaul DoveView Answer on Stackoverflow
Solution 2 - Sql ServerFA911View Answer on Stackoverflow
Solution 3 - Sql ServerRussView Answer on Stackoverflow
Solution 4 - Sql Serverjpcarts23View Answer on Stackoverflow
Solution 5 - Sql ServerPeterXView Answer on Stackoverflow
Solution 6 - Sql ServerVisheView Answer on Stackoverflow
Solution 7 - Sql Serverquestionto42standswithUkraineView Answer on Stackoverflow
Solution 8 - Sql Serveruser9075098View Answer on Stackoverflow
Solution 9 - Sql ServerbfuerchauView Answer on Stackoverflow
Solution 10 - Sql ServerMikael SuokasView Answer on Stackoverflow
Solution 11 - Sql ServerFrancesco MantovaniView Answer on Stackoverflow