‘MSDAORA.1’提供程序未在本地计算机上注册

我有一个应用程序连接到数据库,提取信息,创建一个Excel文件,然后删除文件/电子邮件X人文件。

该应用程序是使用.NET 2.0 Framework(Windows Form App)在Visual Studios中创建的。 它是在32位服务器上运行的。 但它最近被转移到64位服务器。 它现在返回错误消息“’MSDAORA.1’提供程序未在本地计算机上注册。”

我相信MSDAORA仅支持32位应用程序,并且在IIS中运行的应用程序池不适用于32位应用程序。

我将如何解决这个问题,我可以在IIS中更改一些内容吗? 或者是代码更改?

使用ORAOLEDB.ORACLE而不是MSDAORA为我修复了同样的问题 – 将平台目标从“任何CPU”更改为“X86”导致我的项目在Visual Studio中出错。

见这里的答案

我找到了解决方案。 问题源于在64位机器上运行机器。 要在VS中更改它,请打开解决方案的属性页面,然后在构建选项卡中将目标平台更改为x86。 这就是诀窍。

http://lostechies.com/gabrielschenker/2009/10/21/force-net-application-to-run-in-32bit-process-on-64bit-os/

谢谢你的帮助Yuriy。

我有同样的问题,但我使用另一种解决方案,因为我的应用程序在IIS中运行。

在应用程序池的高级设置中,我将Enable 32-Bit Applications的值更改为true

我有同样的问题,但它不是32 / 64bit。 我使用了ODAC xcopy安装程序,忘了以管理员身份在cmd.exe中运行它。 它没有给出任何错误,所以我很难搞清楚这一点。 xcopy部分工作但通过regsvr32的DLL注册无声地失败。