Unable to import Access DB to SQL Server Migration Assistant for Access (32 bit)

0

I am trying to migrate 32-bit MS Access DB to SQL Server using SQL Server Migration Assistant (SSMA) 32-bit in my 64-bit Windows machine. The addition of Access DB to the migration project always fails due to the following error. The error message is suggesting to use 32-bit version of SSMA, which I am already using. What could be wrong?

Access Object Collector error: Database

Retrieving the COM class factory for component with CLSID {CD7791B9-43FD-42C5-AE42-8DD2811F0419} failed due to the following error: 80040154 Class not registered

(Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)). Please make sure that you are using the correct version of SQL Server Migration Assistant.

If you have 32-bit Microsoft Access installed, then you will need to use 32-bit version of the Migration Assistant.

In order to use 64-bit version of Migration Assistant, you will need to install 64-bit Microsoft Access components available at https://go.microsoft.com/fwlink/?linkid=834402.

An error occurred while loading database content

ms-access
database-migration
32-bit
sql-server-migration-assi
asked on Stack Overflow Sep 21, 2020 by Anson • edited Sep 22, 2020 by marc_s

2 Answers

2

Your best course of action is to install the ACE data engine.

Installing recent verisons of Access WILL NOT WORK! Even recent runtime verisons!

Since Access 2013, an install of Access full (or runtime) does NOT install an exposed copy of ACE. Due to this confusing, they are reversing this policy, but with this confusing, and that for several years installing Access (full or runtime) would not work?

Then just go and install the ACE data engine. It is a smaller and lighter install then the Access runtime anyway.

So, use this link: Microsoft Access Database Engine 2016 Redistributable

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

So just keep in mind that installing Access for the last few versions did not and does not install a exposed copy of ACE. You HAVE to install the ACE engine separate for use say from VB6, vb.net, c# or external software like SSMAA that requires a exposed copy of the ACE data engine. While Microsoft is in the process of reversing this decision (an Access full or runtime would expose ACE), the current situation is confusing, since you can try installing several versions of Access, and even runtime versions, and you will STILL NOT get a exposed copy of ACE.

answered on Stack Overflow Sep 21, 2020 by Albert D. Kallal
1

Doing a quick search; do you have the proper Access Runtime installed?

Check out the link below:

https://techcommunity.microsoft.com/t5/microsoft-data-migration/access-connectivity-components-for-ssma/ba-p/391070

They suggest starting with 2016 and see if it works; if not, uninstall the runtime and try an earlier version.

answered on Stack Overflow Sep 21, 2020 by Brian Dunk

User contributions licensed under CC BY-SA 3.0