chi*_*oro 9 64-bit .net-4.0 windows-7 system.data.oracleclient oracle11gr2
我正在尝试运行System.Data.OracleClient在Win7 x64工作站上使用的.NET应用程序.工作站安装了32位Oracle客户端,导致以下错误消息:
尝试加载Oracle客户端库会引发BadImageFormatException.在安装了32位Oracle客户端组件的64位模式下运行时,将发生此问题.
所以这是我漫长的尝试和失败之旅:
System.Data.OracleClient),并且看到DllPath指向正确的ODAC的x64安装,所以,如果我的应用程序不是使用System.Data.OracleClient,它应该工作,但由于它确实使用它,它仍然失败.从b_levitt得到第一个答案后,我尝试将以下行添加到Global.asax Application_Start:
Environment.SetEnvironmentVariable("ORACLE_HOME", @"C:\OracleProducts\Odac-11.2.0.2.1-x64");
Environment.SetEnvironmentVariable("PATH", @"C:\OracleProducts\Odac-11.2.0.2.1-x64;C:\OracleProducts\Odac-11.2.0.2.1-x64\bin");
Run Code Online (Sandbox Code Playgroud)
C:\ OracleProducts\Odac-11.2.0.2.1-x64是我安装ODAC 64位xcopy版本的地方.也没有成功.
在相关的说明中,我甚至试图强制我的.NET应用程序进入32位模式但没有成功,但这是另一回事.我需要一个前瞻性的解决方案,这意味着64位.
你的 #5 应该可以工作,但你还需要设置 ORACLE_HOME 环境变量。我已经这样做过很多次了,包括最近使用您正在使用的 xcopy 安装。请查看我的 xcopy 安装经验,并让我知道您遇到的其他错误类型。
就我而言,我是为 asp.net 设置它,但 winforms 更容易。您可以打开 cmd 窗口,使用“set”命令设置 PATH 和 ORACLE_HOME 环境变量,然后从同一 cmd 窗口运行您的应用程序。一旦解决了错误,您就可以使用Environment.SetEnvironmentVariable 在代码中设置它们。
根据记录,我确实避免在客户端计算机上安装 oracle 客户端,而是通过 Web 服务处理所有业务逻辑。这样我只需要 Web 服务器上的 oracle 组件。
| 归档时间: |
|
| 查看次数: |
23661 次 |
| 最近记录: |