'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 中执行此操作:
- 在解决方案资源管理器中右键单击您的项目并选择属性(或进入 "Project" 菜单和 select "Properties"
- 点击编译选项卡
- 将 "Target CPU" 下拉列表更改为 x86。
我正在计算机 运行 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 中执行此操作:
- 在解决方案资源管理器中右键单击您的项目并选择属性(或进入 "Project" 菜单和 select "Properties"
- 点击编译选项卡
- 将 "Target CPU" 下拉列表更改为 x86。