2011-01-27 63 views
0

安装在服务器上的Oracle是10.2.0.3企业版64位(10g)。使用Oracle DB从C#-VS2005

ODAC正在显示版本,因为10.2.0.2.20位于Windows 2008 x64机器上。

错误我碰到,当我在上面的机器我的测试环境中运行我的应用程序是

The type initializer for 'Oracle.DataAccess.Client.OracleConnection' threw an exception. 

我尝试使用的.Net甲骨文命名空间,我得到这个利用 下的版本:\ WINDOWS \微软.NET \ Framework64 \ V2.0.50727

错误:

Oracle client libraries threw BadImageFormatException. This problem will occur when running in 64 bit mode with the 32 bit Oracle client components installed. 

人遇到这样的问题?

什么是正确的Oracle客户端/ ODAC在Windows 2008 x64机器上使用? Anyonen有链接?

+0

我认为有一个64位版本的OracleClient作为.net 3.5的一个服务包的一部分可用http://support.microsoft.com/kb/959209但是,这可能对你没有任何用处尽管如果你仍然使用.net 2.0(vs 2005)。请参阅http://social.msdn.microsoft.com/Forums/en/netfx64bit/thread/3cbc1c81-e0a8-4d00-b0a6-55be2c099bf5以及更多详细信息 – InSane 2011-01-27 03:58:43

回答

0

你似乎已经安装了32位的Oracle客户端,或者你必须有一个32位的dll来掩盖你的64位客户端。您需要安装64位客户端,以便您的应用可以访问64位dll。在你的路径中寻找oci * .dll。

同时根据hklm\software\oracle查看注册表,查看您有多少个“家”。

最后,如果您在该客户端上有蟾蜍,请查看连接对话框中的主选择器。它会显示红色的不完整或不能运作的房屋。

+0

但是,如果我从我的C:\ Windows \ Microsoft访问x64 .NET \ Framework64 \ v2.0.50727,我应该得到System.Data.oracleCclient.dll的x64,是否正确? – qazwsx 2011-01-27 03:51:10