Windows 7 64上的System.Data.OracleClient

时间:2010-03-10 09:42:27

标签: visual-studio oracle windows-7

我正在尝试从我在Windows 7 64位上编写的程序访问Oracle数据库。每当它初始化客户端时,我得到一个BadImageFormatException抱怨我正在尝试在64位环境中使用32位客户端。我试图以任何方式编译程序(任何CPU,32,64位),但它没有解决问题。有什么帮助吗?

2 个答案:

答案 0 :(得分:1)

我猜错误信息是正确的。您有一个32位Oracle DLL,您可以在64进程中使用它。 Oracle DLL可能与本机代码进行一些互操作,这可能需要它是特定于处理器的。

有几种方法可以解决这个问题。

选项1:获取64 bit Oracle DLLs.

选项2:确保您的流程为32位。 标记为AnyCPU的.NET exe文件将在64位操作系统上启动64位进程。但是,如果您将EXE文件标记为x86,那么它应该可以工作。对于Web应用程序,您必须在IIS中的某处设置32位标志。

答案 1 :(得分:1)

您需要将项目配置为定位.NET 4 Framework,方法是转到Project-Designer - > Target Framework

然后,您需要删除旧的Oracle dll,并使用.NET 4 Framework中包含的Oracle dll的新 64位版本。 / p>