Another "Can not find Oracle Home" Issue

Discussion of open issues, suggestions and bugs regarding ADO.NET provider for Oracle
Post Reply
jwhblues2
Posts: 3
Joined: Wed 09 Nov 2011 16:19

Another "Can not find Oracle Home" Issue

Post by jwhblues2 » Wed 09 Nov 2011 17:10

Here is my configuration:

Windows Server 2008 R2
Visual Studio 2010
Oracle Client 11g (11.2.0.1) - 64 bit Installed using Admin Option
Devart dotConnect for Oracle Professional - vers. 5.60.124.0

Currently, I only have the 64 bit client of Oracle installed. There is only one Oracle Home defined in the registry and this is also in the Environment Variable. The Path Environment variable has the Oracle Client bin directory as the first entry.

My Visual Studio Solution has 2 projects. The first project is for the Data tier which has the Entity Data Model generated by Entity Developer for dotConnect. It also has associated BLL methods using LINQ statements via the Entity context to access the data. The second project is the presentation tier and uses the Data tier project (via reference) to get to the data. The Data project has references included for Devart.Data.Oracle and Devart.Data.Oracle.Client. My target platform in all cases is "ANY CPU".

First, when in the Entity Developer for dotConnect, the Oracle Home does not appear - the dropdown is empty. When I had previously developed this application with only the 32 bit Oracle client installed, the Oracle Home (for the 32 bit then) was present. I did read on these forums that there was a problem in Entity Developer for dotConnect with 64 bit and that the alternative was to use "Direct mode". By choosing this option and supplying the correct server name and sid, I was able to connect to the database and the code works. However, I did not want to have to run with Direct mode, so at this point, I adjusted the connection string in my app.config and web.config files to no longer be direct, but rather use the same format as it had appeared when dealing with 32 bit Oracle client.

After doing this, the first attempt to interface with the Entity context fails to connect saying "Can not find Oracle Home". From reading some of the other posts here that are similar, I tried inspecting the OracleHomeCollection just before the first context interaction. There is only 1 Home present (which is correct). It has the correct Client Version and Path listed, but the Name and NLSLang properties are both null. It seems that this Name has to have the Oracle Home value present in order to work. I then went back and looked at the same information when running with just the 32 bit Oracle client and Name and NLSLang are correctly filled in at that point.

How do I get the Name have the correct Oracle Home informatioin when using only the 64 bit client of Oracle?

Also, I did include the correct Home information on the Connection String in the app.config and web.config files, but it did not help.

Additionally, I have successfully connected to my database via SqlPlus with just the Oracle 64 bit client installed, so the ORACLE_HOME information and configuration appears to be correct and working.

Thanks.

Shalex
Site Admin
Posts: 9543
Joined: Thu 14 Aug 2008 12:44

Post by Shalex » Thu 10 Nov 2011 16:32

Entity Developer is a 32 bit application, so it cannot access the database via the x64 version of Oracle client. Please install Oracle client x86 or connect using Direct Mode.

Post Reply