Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Converting Access Database to MSSQL Database Using Microsoft SQL Server Migration Assistant for Access

I am trying to convent a Ms Access Database to MS SQL 2012, using Microsoft SQL Server Migration Assistant for Access version 6.0 but each time i try to convert it an error pops up. any ideas how i can solve the problem i reinstall the program Microsoft SQL Server Migration Assistant for Access , and it worked just ones and after that i have the same error. any help will be most appreciated

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)). This error may be a result of running SSMA as 64-bit application while having only 32-bit connectivity components installed or vice versa. You can run 32-bit SSMA application if you have 32-bit connectivity components or 64-bit SSMA application if you have 64-bit connectivity components, shortcut to both 32-bit and 64-bit SSMA can be found under the Programs menu. You can also consider updating your connectivity components from http://go.microsoft.com/fwlink/?LinkId=197502. An error occurred while loading database content.

like image 880
emilios Avatar asked Jul 03 '15 12:07

emilios


4 Answers

[SOLVED]

I encountered the same error while using SSMA v7.7.0 for migrating from MS-Access 2016 DB to SQL Server 2017. Fortunately, I got it fixed by installing Microsoft Access Database Engine 2016 Redistributable

like image 98
Jihad Naji Avatar answered Oct 19 '22 05:10

Jihad Naji


Just to complete the other side of the story...

If you have a 64-bit setup, you might have to go the other direction
and install the 64-bit MSAccess 2010 engine.

I'm running Access 2013, and I believe it is 64-bit. But the SMAA tool threw the 80040154 error.

  • I think SMAA can't or doesn't use the 64-bit connectivity drivers that come with 64-bit Access 2013.

So using the 32-bit SMAA didn't help.

  • Installing the 64-bit 2010 engine did.

I got it as a free standalone download here:

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

After the quick install of this, I simply started
SMAA 64-bit again,
and the wizard was successful the first time.


thanks to : https://social.technet.microsoft.com/Forums/itmanagement/en-US/0249eebf-14bd-45f6-9bca-3b42395a3d13/ssma-60-error-retrieving-the-com-class-factory-for-component-failed-due-to-the-following-error?forum=sqlservermigration

like image 45
Mike M Avatar answered Oct 19 '22 06:10

Mike M


I remember this error. I had to find the EXE for 32-bit SSMA even though I was running 64-bit windows. The default installed location was:

C:\Microsoft SQL Server Migration Assistant for Access\bin

And the filename was:

SSMAforAccess32.exe

like image 35
pghcpa Avatar answered Oct 19 '22 05:10

pghcpa


with regards to installing the runtime environment of Access to get around the 80040154 error from SSMA: With Access 2016, I found that the runtime environment would not install because I already had Access installed. I needed to deinstall Access, then install the runtime only version. Then, SSMA would run without the 80040154 error. Total pain tho.

like image 1
SpydreV Avatar answered Oct 19 '22 05:10

SpydreV