Page 1 of 1

[Resolved] Setup Question - Can not obtain Oracle Client info from registry Error.

Posted: Thu 06 Feb 2014 18:48
by Saintless
I'm having problems with how Oracle is supposed to be set up, in our environment. I believe I have most of this set up right, although the MVC application is giving the error "System.InvalidOperationException: Can not obtain Oracle client information from registry. Make sure that Oracle Client Software is installed, or use Direct mode of connecting to server".

I'm connecting using direct mode, and my connection string looks like this:
User Id=UID;Password=PWD;Server=SERVER.LOCAL.PATH;Connection Timeout=60;Default Command Timeout=60;Direct=True;Sid=SERVERID;Port=1521
I know that's ok, because I have integration tests that run, as well as using this locally, and it works fine. I don't have Oracle Client installed anywhere.

So, to explain how we're using it...

I've created a "wrapper" project, that exposes functionality that enables other apps to get data from the Oracle Database, but only this project needs the Devart Oracle DLLs. This Wrapper project has an integration test, and I installed dotConnect Trial on the build server, the same as I have on my machine. I'm using a trial license, while I wait on the real license purchase. Anyway, the Integration Test against Wrapper has a call to the Oracle database, and the test passes.

So, then I have a large solution, we'll call Ops, which includes an MVC web project (OpsWeb), a class library (OpsData), and another Integration Test project (OpsDataIntegrationTest). OpsData has a reference to the Wrapper DLL, which is already compiled, and does not have or need the Devart DLLs. OpsWeb has a reference to the OpsData project, to get data. I can build and run this just fine locally. When I deploy this, the test, which does make a call to the Oracle database, passes.

However, when I access OpsWeb in the lab environment, I'm getting the error:
System.InvalidOperationException: Can not obtain Oracle client information from registry. Make sure that Oracle Client Software is installed, or use Direct mode of connecting to server.
at Devart.Data.Oracle.OracleHomeCollection.a()[...]
Can you help me determine what I'm doing wrong?

UPDATE: :oops:
Ok, so I forgot that we're doing this new tokenized config thing, and it had been set up for a different version of the connection string, that didn't include direct=true, so when it deployed, the connection string was wrong. So, this is resolved.