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

4

我有一个应用程序连接到数据库,提取信息,创建Excel文件,然后将文件放置/通过电子邮件发送给X个人。

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

我认为MSDAORA仅支持32位应用程序,并且应用程序在IIS下运行的应用程序池未启用32位应用程序。

我该如何解决这个问题?是否可以在IIS中进行更改?还是需要修改代码?


Windows Form 应用程序和 IIS/应用程序池? - Yuriy Galanter
我不确定它是否也连接到了它。它作为可执行文件运行,因此与表单进行交互。 - Eric
Windows可执行文件不使用IIS应用程序池。但无论如何,考虑使用来自Oracle本身的提供程序,它具有32位和64位版本。 - Yuriy Galanter
用“OraOLEDB.Oracle”替换它会奏效吗? - Eric
你必须安装正确的驱动程序。此外,连接字符串可能不同,请查看Oracle驱动程序和www.connectionstrings.com的文档。 - Yuriy Galanter
5个回答

6

我遇到了同样的问题,使用ORAOLEDB.ORACLE代替MSDAORA解决了这个问题 - 在Visual Studio中将平台目标从“Any CPU”更改为“X86”会导致我的项目出现错误。

请参见此处的答案。


4

3

我也遇到了同样的问题,但是因为我的应用程序在IIS中运行,所以我使用了另一种解决方案。

在应用程序池的高级设置中,我将启用32位应用程序的值更改为true


1

我遇到了同样的问题,但问题并不是32/64位。我使用了ODAC xcopy安装程序,但忘记以管理员身份在cmd.exe中运行它。它没有出现任何错误,所以我很难找出原因。xcopy部分可以正常工作,但通过regsvr32进行的DLL注册会悄悄地失败。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接