在本地主机和IIS上查看Oracle表的问题

时间:2015-08-19 14:40:16

标签: c# asp.net oracle iis odbc

我收到两个错误,这取决于我使用的是什么参考,但我认为它们都是相对类似的问题。

此参考的第一个错误:

Using System.Data.OracleClient;

导致错误:

Attempt to load Oracle client libraries threw BadImageFormatException.  This problem will occur when running in 64 bit mode with the 32 bit Oracle client components installed.

我知道这个引用已经过折旧,所以我使用了这个Oracle引用:

Using Oracle.DataAccess.Client;

但这给了我一个错误:

The type initializer for 'Oracle.DataAccess.Client.OracleConnection' threw an exception

这两个引用都与本地主机上的Oracle存储过程一起使用,但是当我在IIS中运行页面时,它们会抛出这些错误。在我的服务器上安装了Oracle 64位客户端,但在我的实际计算机上安装了32位客户端。

我的主要问题是:为什么Oracle数据库会连接到本地主机上的服务器,并完全执行我的存储过程,即使我的计算机上安装了32位客户端,服务器上安装了64位客户端?

我在IIS中的应用程序池上启用了32位应用程序,但这并没有解决问题。我也尝试将64位Oracle .dll复制到我的项目中,但这也没有用。

是否会在我的机器上安装64位客户端,然后使用正确的oracle重建项目.dll解决了这个问题?我还需要重新生成另一个连接字符串吗?

由于

1 个答案:

答案 0 :(得分:0)

Luke Woodward发布,通过将Oracle.DataAccess.Client更改为Oracle.ManagedDataAccess.Client,代码就像魅力一样运行。谢谢卢克!