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

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.

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

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

[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

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.

If you're trying to read/write data from/to MS Access database file via .NET application, try to switch the project to x86 architecture. It helps in my case

Related

The setup routines for the Oracle in instantclient_12_1 ODBC driver could not be loaded due to system error code 998

I am trying to connect with oracle database by using oracle instant client 32 bit because i have 32 bit pc installed i have installed oracle instant client 32 bit successfully and configure Environment variable but when i try to configure instant client in ODBC ADMINISTRATOR i am getting this error
"The setup routines for the Oracle in instantclient_12_1 ODBC driver could not be loaded due to system error code 998".i have installed microsoft redistribute c++ for 32 bit also still it is not working please advise me.
Quick note since this is one of the first entries when you google the problem:
I was getting the same error (but on Server 2008R2). Checked the registry paths and C++ redists. Turns out the error was because I had a space in the name of the folder I installed to (and so the PATH variable had a space). Doh!
I just copied the working dlls sqlora32.dll , sqoras32.dll, sqlresus.dll and it worked for me but before that make sure you have correct entry in Registry, Environment variables are very well set also.
On Windows 64-bit OS,
32-bit AND 64-bit USER ODBC data sources are stored in the registry under HKEY_CURRENT_USER\Software\ODBC\ODBC.INI
64-bit SYSTEM ODBC data sources are stored in the registry under HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI
32-bit SYSTEM ODBC data sources are stored in the registry under HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBC.INI

Error migrating 32-bit Access 2013 DB to 32-bit SQL Server Express

I have a database in 32-bit Access 2013 that I want to migrate to SQL Server Express. I've only installed the 32-bit version of SQL Server Express and I'm using the 32-bit version of Microsoft SQL Server Migration Assistant for Access, but I get the error
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. 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."
Presumably it's finding something 64-bit somewhere, but I can't work out where to look. I've tried the obvious using the 64-bit version of SQL Server Express, but that gives the same message.
Where do I look next?

jdbc connectivity with MS ACCESS

i am trying to establish a connection with access database using java...
But while trying to configure the database it showing the error as architecture mismatch between driver and the application..
My OS is 64 bit and office is 32 bit.... I resovled the same problem in oracle by placing the jar files C:\oraclexe\app\oracle\product\10.2.0\server\jdbc\lib\ojdbc14.jar and C:\oraclexe\app\oracle\product\10.2.0\server\jdbc\lib\ojdbc14.jar in class path. But How can i solve this problem with access....
A 32-bit ODBC Administrator utility (%WINDIR%\SysWOW64\odbcad32.exe) supplied by Microsoft for its 64-bit OS does not solve the archirecture incompatibility since DSNs defined through it are usable only by apps also running in 32-bit mode.
Fortunately, Microsoft realized the issue and provided a component called “Microsoft Access Database Engine 2010 Redistributable”. You can download it from Microsoft site. After executing AccessDatabaseEngine_X64.exe you will be able to see the MS-Access driver under the normal 64-bit ODBC Administrator.

the microsoft.ace.oledb.12.0 provider is not registered

I am creating an application using vb.net and access 2007. My OS is in 64bit, windows 7. I already change my TargetFlatform in to x86. But when I run the program error occured "The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine". I tried to search with google for a solution but no luck.
any help would greatly appreciated.
Thanks in advance
you must install Access Database Engine, see the following link
http://www.microsoft.com/download/en/details.aspx?id=13255
Regards.
There is a problem with Microsoft.ACE.OLEDB.12 when AccessDatabaseEngine x86 or x64 2010 is installed.
I have long attempted to use the SSMS (2005-2008-2008R2-2012) Export Wizards to export large tables onto Excel and I needed the AccessDatabaseEngine installed to be able to do that.
However, regardless of the MS Office version (2010, x86 or x64, or whatever it is), the 2010 version of AccessDatabaseEngine will not work towards registering the provider.
The solution is to download and install the previous one which is none other than the 2007 x86 one.
This one will work even if Office or SQL Server or VS are x64.
Download it from here http://www.microsoft.com/en-us/download/confirmation.aspx?id=23734
Now, any other propagated issues revolving around the notorious failure to register "the provider" on the local machine for the Microsoft.ACE.OLEDB.12 should be resolved by the above.
Feel free to paste me your experiences on this matter.

How do I resolve "Run-time error '429': ActiveX component can't create object"?

My company has a VB6 application using Crystal Reports 7 which a client has asked to be installed on Windows 7 32 bit. It is currently installed on Windows XP 32bit SP2 machines at the client. Connection to the DB is done via ODBC to SQL Server 2000 instance on another server.
On Windows 7, the installation works fine, however when you try to open the application, the error is given.
I have looked at the following:
Registering all the dll's and ocx files using regsvr32. Some will not register as they either are registered already or the following message is given "Make sure that "[name].dll" is valid DLL or OCX file and then try again." I read this forum thread regarding this: http://social.msdn.microsoft.com/forums/en-US/vblanguage/thread/0653f685-4526-45d9-89f3-8c479a6b4c62
Monitored the opening of the application using a ProcessMonitor application to try and spot if there is a missing dll or ocx file - this does not seem to be the case.
Reviewed the application according to this list and nothing seems to be against these guidelines
I've noticed two items in the knowledge base that relate to this
http://support.microsoft.com/kb/281848 - the comdlg32.ocx bundled with the application is version 6.0.81.69 and the one in the system32 folder on the dev machine (WinXP 32 bit) is 6.1.97.82. However if this was the issue then surely it would not work currently?
http://support.microsoft.com/kb/184898 - I'm not sure how to confirm that this is the issue
Finally, due to complexities, I am not allowed to make code changes to this application. Even if I was, I'm not a VB6 programmer, just the guy who got the terribly support project! If code changes are required, then I'll have to investigate using WinXP mode.
Update: I get the same error in XP Mode. That's a Win XP with SP3 VM. This runs on a Win XP SP2 VM, is there potentially something in SP3 that would have caused this to occur? Or is it just a fact of it being XP Mode?
I got the same error but I solved by using regsvr32.exe in C:\Windows\SysWOW64.
Because we use x64 system. So if your machine is also x64, the ocx/dll must registered also with regsvr32 x64 version
The file msrdo20.dll is missing from the installation.
According to the Support Statement for Visual Basic 6.0 on Windows Vista, Windows Server 2008 and Windows 7 this file should be distributed with the application.
I'm not sure why it isn't, but my solution is to place the file somewhere on the machine, and register it using regsvr32 in the command line, eg:
regsvr32 c:\windows\system32\msrdo20.dll
In an ideal world you would package this up with the redistributable.
This download fixed my VB6 EXE and Access 2016 (using ACEDAO.DLL) run-time error 429. Took me 2 long days to get it resolved because there are so many causes of 429.
http://www.microsoft.com/en-ca/download/details.aspx?id=13255
QUOTE from link:
"This download will install a set of components that can be used to facilitate transfer of data between 2010 Microsoft Office System files and non-Microsoft Office applications"
You say it works once you install the VB6 IDE so the problem is likely to be that the components you are trying to use depend on the VB6 runtime being installed.
The VB6 runtime isn't installed on Windows by default.
Installing the IDE is one way to get the runtime. For non-developer machines, a "redistributable" installer package from Microsoft should be used instead.
Here is one VB6 runtime installer from Microsoft. I'm not sure if it will be the right version for your components:
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=7b9ba261-7a9c-43e7-9117-f673077ffb3c