我试图从我在Windows 7 64位上编写的程序中访问Oracle数据库。每当初始化客户机时,我都会收到一个BadImageFormatException抱怨说,我试图在64位环境中使用32位客户端。我试图以任何方式编译这个程序(任何CPU,32位,64位),但是它并没有解决这个问题。有什么帮助吗?
发布于 2010-03-10 10:05:38
我猜错误信息是正确的。您有来自64个进程的32位Oracle DLL。Oracle DLL可能会与本机代码进行一些互操作,这可能要求它是特定于处理器的。
有几种方法可以解决这个问题。
选项1:获取 64位Oracle DLL
选项2:确保您的进程是32位。标记为AnyCPU的 .NET exe文件将在64位操作系统上启动64位进程。但是,如果您将EXE文件标记为x86,那么它应该可以工作。对于Web应用程序,您必须在IIS的某个位置设置一个32位标志。
发布于 2012-02-17 07:18:03
您需要将您的项目配置为以.NET 4框架为目标,方法是转到Project-Designer -> Target Framework。
然后,您需要删除旧的Oracle dll,并使用包含在.NET 4框架中的Oracle dll的新Oracle dll。
https://stackoverflow.com/questions/2415821
复制相似问题