【问题标题】:Unable to import Access DB to SQL Server Migration Assistant for Access (32 bit)无法将 Access DB 导入 SQL Server Migration Assistant for Access(32 位)
【发布时间】:2020-09-21 21:30:57
【问题描述】:

我正在尝试在我的 64 位 Windows 机器上使用 32 位 SQL Server 迁移助手 (SSMA) 将 32 位 MS Access DB 迁移到 SQL Server。由于以下错误,向迁移项目添加 Access DB 总是失败。错误消息建议使用我已经在使用的 32 位版本的 SSMA。有什么问题?

访问对象收集器错误:数据库

检索具有 CLSID {CD7791B9-43FD-42C5-AE42-8DD2811F0419} 的组件的 COM 类工厂失败,原因是以下错误:80040154 类未注册

(来自 HRESULT 的异常:0x80040154 (REGDB_E_CLASSNOTREG))。请确保您使用的是正确版本的 SQL Server 迁移助手。

如果您安装了 32 位 Microsoft Access,则需要使用 32 位版本的迁移助手。

要使用 64 位版本的迁移助手,您需要安装 https://go.microsoft.com/fwlink/?linkid=834402 上提供的 64 位 Microsoft Access 组件。

加载数据库内容时出错

【问题讨论】:

    标签: ms-access database-migration 32-bit sql-server-migration-assi


    【解决方案1】:

    您最好的做法是安装 ACE 数据引擎。

    安装 Access 的最新版本将无法正常工作!甚至是最近的运行时版本!

    自 Access 2013 起,Access 完整版(或运行时版)的安装不会安装 ACE 的公开副本。由于这种混乱,他们正在扭转这一政策,但由于这种混乱,几年来安装 Access(完整版或运行时)都行不通?

    然后去安装 ACE 数据引擎。无论如何,它比 Access 运行时更小更轻。

    所以,请使用此链接: Microsoft Access 数据库引擎 2016 可再发行组件

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

    所以请记住,为最后几个版本安装 Access 并没有也不会安装 ACE 的公开副本。您必须单独安装 ACE 引擎,以便与 VB6、vb.net、c# 或需要 ACE 数据引擎的公开副本的 SSMAA 等外部软件分开使用。虽然 Microsoft 正在扭转这一决定(Access full 或运行时会暴露 ACE),但目前的情况令人困惑,因为您可以尝试安装多个版本的 Access,甚至是运行时版本,但您仍然不会得到暴露的ACE 的副本。

    【讨论】:

      【解决方案2】:

      快速搜索;您是否安装了正确的 Access Runtime?

      查看以下链接:

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

      他们建议从 2016 年开始,看看是否可行;如果没有,请卸载运行时并尝试更早的版本。

      【讨论】:

        猜你喜欢
        • 2015-09-21
        • 1970-01-01
        • 2016-12-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-19
        • 2019-09-13
        相关资源
        最近更新 更多