使用 Microsoft SQL Server Migration Assistant for Access 将 Access 数据库转换为 MSSQL 数据库

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

我正在尝试将 Ms Access 数据库转换为 MS SQL 2012,使用 Microsoft SQL Server Migration Assistant for Access version 6.0 但每次我尝试转换它时都会弹出一个错误。关于如何解决问题的任何想法我重新安装了 Microsoft SQL Server Migration Assistant for Access 程序,它只工作了一个,之后我遇到了同样的错误。 任何帮助将不胜感激

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.

我记得这个错误。我必须找到 32 位 SSMA 的 EXE,即使我是 运行 64 位 windows。默认安装位置是:

C:\Microsoft SQL Access\bin

的服务器迁移助手

文件名是:

SSMAforAccess32.exe

只是为了完成故事的另一面...

如果您有 64 位设置,则可能需要转向另一个方向
并安装 64 位 MSAccess 2010 引擎。

我是 运行 Access 2013,我相信它是 64 位的。 但是 SMAA 工具抛出了 80040154 错误。

  • 我认为 SMAA 不能或不使用 64 位 Access 2013 附带的 64 位连接驱动程序。

所以使用 32 位 SMAA 没有帮助。

  • 安装 64 位 2010 引擎即可。

我在这里免费下载了它:

快速安装后,我就开始了
再次 SMAA 64 位,
向导第一次成功了。


感谢: 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

关于安装 Access 的 运行time 环境以解决 SSMA 的 80040154 错误:对于 Access 2016,我发现 运行time 环境无法安装,因为我已经安装了访问安装。我需要卸载 Access,然后安装 运行 限时版本。然后,SSMA 将 运行 而不会出现 80040154 错误。总的痛苦。

[已解决]

我在使用 SSMA v7.7.0 从 MS-Access 2016 DB 迁移到 SQL Server 2017 时遇到了同样的错误。幸运的是,我通过安装 Microsoft Access Database Engine 2016 Redistributable[= 解决了这个问题11=]

如果您尝试通过 .NET 应用程序 read/write 数据 from/to MS Access 数据库文件,请尝试将项目切换到 x86 体系结构。它对我的情况有帮助