我在32位Windows 2008服务器中创建了一个在.NET 3.5中开发的Windows应用程序。在64位服务器中部署应用程序时,它显示错误“Microsoft.Jet.OLEDB.4.0'提供程序未在本地计算机上注册”。因此,作为此问题的解决方案,我已将项目的构建属性更改为X86,以便它将以32位模式构建,并在32位机器中重建项目。但是,同一个项目使用其他数据库驱动程序(DB2,SQL等)连接到其他数据库。因此,当我在64位操作系统中再次部署我的应用程序时,它会抛出异常“尝试在32位平台上加载64位程序集”。我使用Microsoft.Jet.OLEDB.4.0驱动程序读取和写入Excel(.xls)
3 回答
吃鸡游戏
TA贡献1829条经验 获得超7个赞
我找到了解决这个问题的方法。我在问题中描述的问题基本上是由于64位操作系统中的Microsoft.Jet.OLEDB.4.0驱动程序不兼容。
因此,如果我们在64位服务器中使用Microsoft.Jet.OLEDB.4.0驱动程序,我们必须强制我们的应用程序以32位模式构建(这是我在广泛搜索此已知问题时找到的答案)这会导致我的代码的其他部分中断。
幸运的是,现在微软已经发布了64位兼容的2010 Office System Driver,可以替代传统的Microsoft.Jet.OLEDB.4.0驱动程序。它适用于32位和64位服务器。我已经将它用于Excel文件操作,它在这两种环境中都适用于我。但是这个驱动程序是在BETA中。
您可以从Microsoft Access数据库引擎2010可再发行组件下载此驱动程序
慕妹3242003
TA贡献1824条经验 获得超6个赞
我也有同样的问题
Microsoft.Jet.OLEDB.4.0'提供程序未在本地计算机上注册
我通过neo应用了答案但是在我将连接字符串中的提供程序更改为“Provider = Microsoft.ACE.OLEDB.12.0;”之后它才起作用。
如果有人面临同样的问题,希望这会有所帮助。
- 3 回答
- 0 关注
- 1604 浏览
添加回答
举报
0/150
提交
取消