我有一个应用程序连接到数据库,提取信息,创建一个excel文件,然后删除文件/电子邮件X人文件。
应用程序是使用.NET 2.0 Framework(Windows Form App)在Visual Studios中创建的。它在32位服务器上运行。但它最近被转移到64位服务器。它现在返回错误消息“'MSDAORA.1'提供程序未在本地计算机上注册。”
我认为MSDAORA仅支持32位应用程序,并且在IIS中运行的应用程序池不适用于32位应用程序。
我如何解决这个问题,我可以在IIS中更改某些内容吗?或者是代码更改?
答案 0 :(得分:4)
使用ORAOLEDB.ORACLE
而不是MSDAORA
为我修复了同样的问题 - 将平台目标从“任何CPU”更改为“X86”会导致我的项目在Visual Studio中出错。
请参阅回答here
答案 1 :(得分:3)
我找到了解决方案。问题源于在64位机器上运行机器。要在VS中更改它,请打开解决方案的属性页面,然后在构建选项卡中将目标平台更改为x86。这就是诀窍。
感谢您的帮助Yuriy。
答案 2 :(得分:0)
我有同样的问题,但不是32 / 64bit。我使用了ODAC xcopy安装程序,忘了在管理员的cmd.exe 中运行它。它没有给出任何错误,所以我很难搞清楚这一点。 xcopy部分工作但通过regsvr32的DLL注册无声地失败。
答案 3 :(得分:0)
11/08/2018
此功能将在Windows的将来版本中删除。避免在新的开发工作中使用此功能,并计划修改当前使用此功能的应用程序。而是使用Oracle的OLE DB提供程序。
因此可能使用ORAOLEDB.ORACLE是正确的解决方案,但这似乎比仅仅更改连接字符串要付出更多的努力。