209

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

Hadi
  • 36,233
  • 13
  • 65
  • 124
  • 21
    I don't see why this question was voted to be closed as a duplicate... It's clearly a newer version in the error message and needs a newer set of components! This question and answers helped me for my `Microsoft.ACE.OLEDB.16.0` issues. The question being pointed to by the close request is for `Microsoft.ACE.OLEDB.12.0` and the answers address THAT version. This question should be opened back up. – Arvo Bowen Jan 23 '20 at 13:32
  • @ArvoBowen No problem. I reopened it. But both questions have the same solution. – Hadi Mar 06 '20 at 08:05
  • 19
    How so? They are different versions requiring different downloads. They are related but have different solutions. If I followed the answer from the other question it would not solve my issue. – Arvo Bowen Mar 06 '20 at 13:24

11 Answers11

242

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!

Paul Dove
  • 2,437
  • 1
  • 8
  • 3
  • 3
    To have Excel available from the 64-bit version of DTSWizard, install the 2016 Access Database Engine redistributable: https://www.microsoft.com/en-us/download/details.aspx?id=54920 Source: http://sqlblog.com/blogs/john_paul_cook/archive/2017/06/11/sql-server-2016-import-and-export-wizard-and-excel.aspx I tested this myself and this works. Note that SSDT is a 32-bit application so if you launch the import/export wizard from it, it's the 32-bit version of the wizard that launches. This is still the case even as of Visual Studio 2017 and SQL Server 2017. – otravers Oct 16 '17 at 12:49
  • 2
    Thanks for your answer, very useful. I have Office (2016) 64-bit and SQL 64-bit AND the corresponding connector Microsoft.ACE.OLEDB.16.0. However I was getting the message "'Microsoft.ACE.OLEDB.16.0' provider is not registered on the local machine." This simply did not make sense. After opening directly the Import wizard 64-bit I did not have any problem to import excel files. My impression is that by default the tasks->import path goes to the 32-bit wizard and that messes up with the 64-bit items, not sure. Thanks Paul. – Coffee Oct 29 '17 at 00:35
  • @otravers, I downloaded and installed the 2016 Access Database Engine redistributable, but it didn't help. Then it hit me, that's for Access, not Excel. – Rod Nov 17 '17 at 21:24
  • 3
    @Rod, despite the name, I assure you this does solve this specific issue with Excel and DTSWizard. – otravers Nov 18 '17 at 21:49
  • @Coffee, yes, if you launch DTSWizard from SSMS, it's the 32-bit version that will open up. – otravers Nov 18 '17 at 21:50
  • 10
    I don't have a x64 version of the Import/Export wizard – PeterX Mar 13 '18 at 01:53
  • This worked for me. From SQL Management no can't go, from import wizard, works nicely – Zoran P. Apr 24 '18 at 12:51
  • Thank you. In my case, it is called SQL Server 2017 Import and Export Data(64-bit). Yes, it works like a charm. – Hong Apr 24 '19 at 23:59
  • @Paul Dove I cannot find the x64 bit import export wizard and/or the start menu..I am using SQL Sever Management Studio v17.9 and if I go to Tools I see option Import and Export Settings which is different – K Bh Jul 16 '19 at 09:55
  • I found the following information important - Microsoft does not mark the 64 bit version with a name that is different from the 32 bit version. My files show the 64 bit version (AceOledb16) as 153 MB 16.0.5044.1000 and the 32 bit version as 137 MB 16.0.5044.1000. It's important to see which version you have installed. Microsoft, can you please fix this? – Jamie Dec 23 '21 at 17:26
  • 2
    The 64-bit import/export wizard doesn't get installed with SSMS. You need to install SQL Server locally to get that tool. – HotN Jan 08 '22 at 00:17
143

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

e_i_pi
  • 4,590
  • 4
  • 27
  • 45
FA911
  • 1,439
  • 1
  • 7
  • 2
  • 5
    Worked perfectly for me, thanks! Did load my office 2016 file as office 2007-2010 and it worked well. So much better than trying CSV/TSV. – tc_NYC Jun 06 '17 at 02:15
  • 3
    Thanks for mentioning that I *shouldn't* choose Office 2016. Not sure I would've tried one of the other ones. – birdus Apr 18 '18 at 21:06
  • The first link is broken – jcvegan Feb 14 '19 at 15:12
  • 1
    I just updated the link to the current URL for Microsoft Access Database Engine 2016 Redistributable – e_i_pi Feb 14 '19 at 22:16
  • On a WS 2016 64Bit I had to use the 32Bit version to get it working... – Lambda Oct 10 '19 at 14:30
  • 6
    Had to run the (32bit) installer from command line with /quiet flag. Then it worked. Otherwise it was complaining. – Syntax Error Jun 15 '20 at 12:16
  • 1
    A key element here is that you have to have *SQL Server 64-bit* installed on your own computer. Simply installing MSSMS (SQL Server Management Studio) won't do it, because MSSMS is *always* 32-bit, while your 64-bit Office will only let you install the 64-bit version of the Microsoft Access Database Engine 2016 Redistributable (which won't work with the 32-bit MSSMS). – Alpi Murányi May 14 '21 at 22:07
35

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.

Russ
  • 351
  • 3
  • 2
33

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

jpcarts23
  • 468
  • 9
  • 16
  • 4
    Wow this was a frustrating one. Turns out the SSMS 18.5 installer is 64bit, but the application itself is 32 bit. I kept installing the 64bit AccessDatabaseEngine office components with the same error. Looked at task manager, saw SSMS is 32 bit... Then, I used your method: C:\Files\AccessDatabaseEngine.exe /quiet because I have 64bit Office 2016 installed. This worked!! It successfully installed the 32bit database engine alongside 64bit office. – rjkunde May 22 '20 at 19:44
  • 1
    Try to use the AccessDatabaseEngine(32bit) works for me. – Kevin Ng Dec 15 '20 at 03:55
  • I have 64bit office. Install the 64 bit components. Still had the error. Running 32 bit installer fails just opening it. Ran the 32 bit installer from command line and import is now working. – vvvv4d Jul 25 '22 at 17:13
  • This really helped...i was just trying with 64 bit blindly as i know OS is 64, office is 64 bit. – Sudheer Aug 20 '22 at 16:23
  • This really works. Best answer for Win10 64bit OS. – sanpat Feb 10 '23 at 22:51
16

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

PeterX
  • 2,713
  • 3
  • 32
  • 42
9

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. Do not forget to add /quiet, else, it will not work:

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

questionto42
  • 7,175
  • 4
  • 57
  • 90
  • 1
    Very good instructions! In my case 32 bit fixed the problem. – Basssprosse Nov 22 '21 at 11:00
  • @Basssprosse That is helpful, it clearly depends on the system, yours probably 32 bit then? Or put it easier, if the 64 bit does not work, check 32 bit of course. – questionto42 Nov 22 '21 at 12:20
  • Oh, yeah, curiously my office-version is 32bit. I thought it is 64bit. Thank you! – Basssprosse Nov 22 '21 at 13:22
  • I tried just installing this with the exe but it didn't work. I finally went through the process of using command prompt and /quiet and it did work. Can anyone explain to me why this is necessary? – Deathstalker Nov 29 '21 at 22:13
  • This worked for me on Windows 11 Enterprise when I ran the 64 and 32-bit in silent via the command line. Thanks! – MDV2000 Feb 17 '23 at 14:46
  • Vor me, this command line, run within Administrator account, did it: accessdatabaseengine_X64.exe /quiet The /passive option did not work. – cskwg Mar 18 '23 at 13:33
5

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

Vishe
  • 3,383
  • 1
  • 24
  • 23
4

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

1

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.

Hadi
  • 36,233
  • 13
  • 65
  • 124
bfuerchau
  • 11
  • 1
1

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.
Francesco Mantovani
  • 10,216
  • 13
  • 73
  • 113
0

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

  • I tried all solution above and nothing worked, in my setup I don't have SQL Server on my local machine, only SSMS. I will not install it. I think it's a BIG difference between installed and registered. Message said Microsoft.ACE.OLEDB.16.0' provider is not registered on the local machine. How can I check my registry or some other places ???? – Mario Trento Sep 19 '22 at 20:55