我正在使用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
请告诉我该怎么做。
答案 0 :(得分:4)
要解决此问题,请在Visual Studio中打开项目:
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位模式下运行的驱动程序,你可以在这里找到它: