0

I'm a bit lost here.

I have a 64-bit Windows 7 and I'm trying to do something on Visual Studio 2008 (I want to build something that works on 32 and 64 bit systems).

I'm also trying to use ODP.net and i had installed, a long time ago, the oracle 11g client, but unfortunatly for me i ended up with 2 oracle clients homes and one oradb home (i did found it to be very confusing, i mean the installation and i remmember i got a lot of troubles during the installations). i tried to correct this by removing what i had extra but never made it, not even with the Oracle uninstall (the official one they provide). Until now i used OLeDB to connect to an oracle DB but i want to start using ODP and so the Oracle.DataAccess.dll.

First i used the 32 bit version and it did not worked, saying it could not load it in the assembly. I found the reason was that my visual studio project properties had to be changed to work only on 32 bit systems. Even this way when i execute the command

cmd.ExecuteReader();

I got an error saying that vshost32 crashed.

I then decided to download the ODP-64 bit. This time it did not gave me the assembly error having my project for all types of systems, but the vshost crash happened anyway, although this time it was vshost and not vshost32, guessing visual studio is executing a different one depending on my project properties.

I'm trying to avoid reinstalling everything (oracle clients and vs2008) for 2 reasons. One, untill now i wasn't able to uninstall completely an oracle client, second because i have many work dependent and can't really do it fast enough and 100% sure it will work or it will not make thing worst.

So... any help? Any advice? I'm i missing something? Is the vshost crashing because i failed to install the ODP correctly? I can't find much information on web, basicly i only find code on how to use the ODP.

I would appreciate any help. I do think i should be starting from zero-ground (uninstalling everything) but only if it is safe and fast to do.

==============================================

Not sure its relevant but i found the oracle.dataaccess.dll in both GAC_64 and GAC_32 under C:\Windows\Microsoft.NET\assembly. I can also find the Policy in both cases.

4

1 回答 1

0

从注册表开始,找到 odp.net,在它之后 - 查看 gac,您应该会看到您的版本中的 oracle.dataaccess.dll,以及 pokucy dll,说明您将使用哪个 odac。

然后,查看注册表中指定的文件夹,尝试找到 oracle.Dataaccess.dll。

我想备份注册表,仅卸载 ODAC,清理注册表条目,可能是备份并清理 gac。

之后,重新安装 odac(我认为 11 带有自己的客户端)64 位,将您的项目配置为 64 位。

于 2013-04-19T13:33:02.410 回答