0

What I want to do should be rather easy: Use SSMA to transfer internal Access tables and queries to SQL-Server.

On my Notebook I'm running SQL-Server 2017 and Office 365 (32 bit)

As I have 32 bit Office (company's choice ...), I installed the "SSMAforAccess_8.4.0_x86.msi" from the official download site and get a warning during setup, that there are components missing with a download link where I can find "accessruntime_4288-1001_x86_en-us.exe" (same with x64).

I tried first the x86, but it fails, because there is a 64bit "Office 16 Click-to-Run Extensibility Component 64-bit Registration" on my system. And trying to install the x64 fails too, because there is a 32bit "Office 16 Click-to-Run Extensibility Component" on my system.

I can run SSMA without any problems, load the .accdb, connect to SQL-Server, but it fails to read the accdb's meta data:

Access Object Collector error: Database Die COM-Klassenfactory für die Komponente mit CLSID {CD7791B9-43FD-42C5-AE42-8DD2811F0419} konnte aufgrund des folgenden Fehlers nicht abgerufen werden: 80040154 Klasse nicht registriert (Ausnahme von 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 information.

The german part translates to: The COM-class could not be executed due to the given error (class not registered).

A search for the given CLSID brings me back to the access runtime components.

Question:

  • How can I use SSMA, if I cannot install the needed runtime?
  • Or: How can I install missing components, if the installation routine does not work (e.g. shift the DLL to GAC with gacutil manually)

EDIT:

In the meanwhile I tried to use SSMA x64 to no avail...

UPDATE

In the meanwhile I found this (german) instruction how to find and remove the "Click-to-Run" services.

In short: Go to %windir%\installer, make sure that explorer is showing you the column "Betreff" (I don't know, how this is called in English, might be "regarding"). You can find the MSI-packages. Copy them somewhere and perform a right-click. Now you can choose "uninstall".

After removing these "click-to-run" stuff from my notebook I can proceed but run into the next error:

[...] because you have these Click-to-run installer based Office programs installed on your computer 1) Microsoft Office 365 ProPlus - en-us and 2) Microsoft Office 365 ProPlus - de-de". Windows Installer and Click-to-Run editions of Office programs don't get along for this version, so you can only have one type installed at a time. [...]

So my new question is:

Can we use SSMA together with MS-Access 365 and - if not - is there an alternative?

Well, I might set up a pc just for this one-time-issue...

Thank you for any hint...

  • @ComputerVersteher Yes, probably... But I don't want to remove Office from a company's PC. I think I'll rather setup a VM for this... – Shnugo Sep 11 at 11:47
  • @ComputerVersteher It's a pre-installed company's laptop... I won't fiddle around with that. However, Office seems to be just one 32 bit O365 (on a 64 bit Win 10). Thank you anyway... – Shnugo Sep 11 at 11:54
  • Error Message indicates that you are runningSSMAforAccess.exebut you have to run the x86 versionSSMAforAccess32.exe(same path) on x86 Office. Same with ODBC-Administrator (search for ODBC, then start ODBC x86)(%systemdrive%\Windows\SysWoW64\odbcas32.exe). Maybe you have to install Microsoft Access Database Engine 2010 Redistributable x86 – ComputerVersteher Sep 11 at 12:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.