Microsoft.ACE.OLEDB.12.0 x64 应用程序驱动程序 - 如何使其与安装的 x86 MS Office 一起使用?

Microsoft.ACE.OLEDB.12.0 driver for x64 app - how to make it work with x86 MS Office installed?

Microsoft.ACE.OLEDB.12.0 驱动程序无法在我的电脑上运行,我正在尝试修复它。 连接打开错误是:"Provider cannot be found. It may not be properly installed."

这是我现在得到的:

"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=..."

我有很多类似问题的问题,都建议使用 x64 Office 版本,但这对我来说不是选项。由于我的 PC-A 具有 x86 Office 和 x64 位驱动程序,在 x64 应用程序中工作正常,我正在寻找步骤来发现为什么它在该特定机器上工作以及如何在其他机器上复制它。

有人可能会将此问题误认为是 hand-install-of-64-bit-ms-access-odbc-drivers-when-32-bit-office-is-present 的重复问题,但事实并非如此,我已尝试使用 /passive 选项安装 x64 驱动程序,但尽管驱动程序可以从 C# 应用程序运行,但我无法启动 Access在此之后在我的电脑上。在 PC-A 上,您可以毫无问题地使用 Access,并且仍然使用 x64 驱动程序。

我已经复制了从工作机器 (PC-A) 到我的 PC 的所有内容,并且我在同一台 PC 上让整个 Office x86 与 x64 OLEDB Access 驱动程序一起工作。在其他 3 台 PC 上执行此操作,目前都没有问题。

关键是先安装 MS Office Professional Plus 2013 x86,然后 AccessDatabaseEngine_x64.exe。看起来关键是 Access Database Engine 适用于 Office 2010,Office 是 2013,安装顺序是 Office 首先。在一台 PC 上,Office 在安装 Engine 后开始进行一些修复,并顺利完成。现在也可以正常使用了。

O = Office,E = Access 数据库引擎。 尝试使用 O2013 和 E2013 无效,尝试使用 O2010 和 E2013,以及 O2010 和相同的 E2010,均失败。 /passive 选项来安装引擎而不抱怨安装了 x86 O 损坏了我的 O 安装并且 OS 无法修复它。因此,在少数尝试过的组合和命令中,只有一个有效,这并没有引起 OS 抱怨安装了其他组件。