microsoft.jet.oledb.4.0提供程序未在本地计算机上注册

时间:2013-07-05 08:36:25

标签: vb.net ms-access

我正在使用Ms访问数据库(.mdb)和Visual Studio 2012的Windows应用程序,当我第一次运行应用程序时发生错误说:

microsoft.jet.oledb.4.0 is not registered in the local machine

看到所有帖子我通过从AnyCpu更改为X86来解决此错误,然后它在Visual Studio运行时工作正常.....

但是..现在我创建了一个设置,当我运行设置时,开发者PC上发生了同样的错误。

PC配置:

Windows 8,VS2012,64bit

请告诉我该怎么做。

3 个答案:

答案 0 :(得分:4)

要解决此问题,请在Visual Studio中打开项目:

  1. 从解决方案资源管理器中右键单击您的项目,然后单击“属性”
  2. 单击“构建”选项卡
  3. 将平台目标从:任何CPU更改为x86
  4. 重建您的解决方案
  5. 5.检查设置的traget平台是否为x86

答案 1 :(得分:0)

我不知道你正在使用什么运行时,但可能是Access Redistributable,它存在于32位和64位的版本中。据我所知,你不能同时安装两个,64位一个不会提供32位应用程序,反之亦然。

我的解决方案是强制执行32位运行时并编辑UDL文件而不是单击它,而是通过编辑它来实现

C:\Windows\syswow64\rundll32.exe "C:\Program Files (x86)\Common Files\System\Ole DB\oledb32.dll",OpenDSLFile C:\test.udl

解释here

您可能还会发现this information有用,我承认我的解决方法可能有点笨拙,但这是避免此问题的最简单方法......

答案 2 :(得分:0)

Microsoft.Jet.OLEDB.4.0驱动程序与64位Windows不兼容,这就是您收到错误的原因。如果您有其他应用程序使用该连接字符串,则它们很可能设置为在Windows 32位模式下运行。

MS已经发布了一个可以在32位和64位模式下运行的驱动程序,你可以在这里找到它:

http://www.microsoft.com/download/en/details.aspx?id=13255