'Microsoft.ACE.OLEDB.12.0' 提供程序未在本地计算机上注册发生在其他计算机上

The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine happens in other computers

我正在计算机 运行 Windows 7 32 位 OS 中使用 VB .NET 开发软件。

该软件包含如下代码行:

Dim cn As New OleDbConnection

cn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & fileNameStr & ";Jet OLEDB:Database Password=xxxxxx"

cn.Open()

以上代码打开一个受密码保护的Microsoft Access 文件(扩展名:mdb)。

在我的电脑(32 位 Windows 7)中,代码运行良好。

但是,当我在其他电脑(64位Windows7)上测试这个软件时,出现如下错误信息:

我已尝试在出现错误消息的计算机上安装另一个名为 "Microsoft Access Database Engine 2010 Redistributable" 的驱动程序,但它并没有解决问题。

你能指出我的错误在哪里以及如何解决吗?

谢谢。

更改您的应用程序以在 x86 而不是 AnyCPU 或 x64 下编译。要在 VB 中执行此操作:

  1. 在解决方案资源管理器中右键单击您的项目并选择属性(或进入 "Project" 菜单和 select "Properties"
  2. 点击编译选项卡
  3. 将 "Target CPU" 下拉列表更改为 x86。