我在Windows 7上安装了Oracle 11g r1 64位。我可以使用Sql Developer和一个32位的.Net编写的命令行工具连接到它。我正在使用Visual Studio来创建ASP.Net应用程序。该解决方案有4个项目,所有这些项目都在编译“任何CPU”我安装了64位版本的Oracle客户端,我不断收到以下错误。该项目正在使用System.Data.OracleClient提供程序。一切都是64位,所以我不知道为什么我会收到错误。
[InvalidOperationException:尝试加载Oracle客户端库会引发BadImageFormatException。在安装了32位Oracle客户端组件的64位模式下运行时会发生此问题。]
答案 0 :(得分:0)
您安装了哪个版本的ORacle.DataAccess?检查GAC:
gacutil /l Oracle.DataAccess
确保安装了64位版本。还要确保在64位客户端之前没有路径上的32位Oracle客户端。
上周我发现安装32位Oracle ODP.NET软件包会删除64位发布者策略......
答案 1 :(得分:0)
不确定这是否是最好的答案或者为什么这样可行,而另一种方法不是,但是在安装了64位客户端之后我安装了32位oracle客户端并且能够在我的dev上运行oracle并运行机。
作为回顾,我安装了适用于Windows x64的Oracle,适用于x64的Oracle客户端管理员和适用于32位的Oracle客户端管理员。然后我将tnsnames.ora文件添加到两个客户端,这些客户端是为数据库服务器创建的客户端的重复,并重新启动了我的机器,并且能够使用asp.net项目运行我的开发环境Visual Studio 2008。