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

本文关键字:Oracle 问题 主机 IIS | 更新日期: 2023-09-27 18:08:56

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

这个引用的第一个错误:

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重新构建项目可以解决问题吗?我还需要重新生成另一个连接字符串吗?

谢谢

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

由Luke Woodward发布,通过将Oracle.DataAccess.Client更改为Oracle.ManagedDataAccess。客户,代码运行得很好。谢谢卢克!