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

Microsoft.ACE.OLEDB.12.0驱动程序无法在我的PC上运行,我正在尝试修复它。 连接打开时出错:“无法找到提供程序。可能未正确安装。”

这是我现在得到的:

  • 我已经构建了带有连接字符串的x64 C#ADO.NET控制台应用程序,用于连接到’* .mdb’:

“Provider = Microsoft.ACE.OLEDB.12.0;数据源= …”

  • 我有两个PC-A A和B,都有Windows 7 x64和相同的MS Office 2013 x86版本
  • 相同的exacutable将在PC-A上运行而不会在PC-B上运行
  • 还有其他几台具有类似配置的PC,并且使用相同的可执行文件都抛出相同的exception

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

有人可能会误认为这个问题是手动安装的64位ms-access-odbc-drivers-32-bit-office-present-present,但事实并非如此,我试图安装x64带有/被动选项的驱动程序,但是虽然然后驱动程序在C#app上运行,但在此之后我无法在我的PC上启动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数据库引擎用于Office 2010,Office是2013,安装顺序是Office。 在一台PC Office上安装Engine后开始进行一些修复并完成它没有任何问题。 现在也可以。

O = Office,E = Access数据库引擎。 尝试了O2013和E2013都没有用,尝试过O2010和E2013,以及O2010和E2010都失败了。 /被动选项安装引擎而不抱怨x86 O安装已损坏我的O安装和操作系统无法修复它。 因此,很少尝试过组合和订单,只有一个工作,这并没有引起操作系统的投诉,安装了其他组件。

  • 尝试在.NET中使用EventLog.SourceExists方法时出现问题
  • 使用C#winform的zeromq pub / sub示例
  • 为什么GetHashCode在Object类中?
  • 使用有效示例隐藏在c#中的方法。 为什么在框架中实现? 什么是真实世界的优势?
  • 隐式方法组转换问题(第2部分)
  • 如何在DataGridViewCell中托管控件以进行显示和编辑?
  • .Net IPAddress IPv4
  • 在winforms中检测箭头键
  • C#字符串连接和字符串实习
  • 包含{的string.format格式字符串
  • TimeZoneInfo.ConvertTimeToUtc问题