SSAS ACE.OLEDB errors
While trying to import an excel file into an SSAS model, I kept getting the following error:
Failed to save modifications to the server. Error returned: ‘The provider ‘Microsoft.ACE.OLEDB.12.0’ is not registered.
The following system error occurred: Class not registered
A connection could not be made to the data source with the Name of ‘Text 2018 Tableau Usage’.
Initially, I assumed it was the server that was causing problems, so I created a model with an integrated workspace (ssas running locally in the background). This rules the SSAS server I had been using out of the problem.
Visual studio only runs in 32 bit, which is why you’ll find it in: “C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\”.
The installed version of office further complicates this. This driver comes included with excel. This is the version I had installed. I thought at first that this might be the problem, but it turns out it was the same version I had working in another environment. So this was probably a red herring.
You’ll need to install the Access Database Engine 2010 Redistributable in order to get the correct ACE driver. You should end up with this:
Unfortunately, you can’t tell if it’s the 32 bit version installed, or the 64. You may be able to intuit it from the registry.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Access Connectivity Engine\InstallRoot
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\14.0\Access Connectivity Engine\InstallRoot
But that doesn’t help, as an unsuccessful uninstall had left registry keys on my local machine.
So it turned out the solution was to reinstall the 32 bit version, and uninstall it. I then reinstalled the 64 bit version, but oddly didn’t have to specify /quiet on this install. I did it on my local machine, so I could use an integrated workspace (spinning up SSAS when launching Visual Studio). I then had to go to the SSAS server I’d installed, and repeated the same process. So in short, the 64bit driver works while excel is 32 bit.
Credit to Meagan Longoria @ DataSavvy. This post has some good details: https://datasavvy.me/2017/07/20/installing-the-microsoft-ace-oledb-12-0-provider-for-both-64-bit-and-32-bit-processing/