views:

83

answers:

0

Hi.

I have a very simple application on .Net that connect to Oracle using ODP (was compiled with Oracle.DataAccess dll 10.2). I want to check "connection prerequisite" (application will be able to connect to DB) before installing this aplication on other computers?

How can I check that ODP.NET version 10.2 or higher is installed on target host (registry check is not enopugh)?

I know that I can check ODP entries in registry - but this will not check Oracle Client and compatibility between client and ODP. Also, if ODP was installed by ODAC XCopy installation - registry may be not updated by new ODP entry. And - if I am installing on the computer, DB was installed on, Oracle Client can be not installed separately.

And one more issue: When I tried to run "test connection" method from installation, that use referenced dll on machine, that has only ODAC (with ODP) 11, - "Oracle.DataAccess.Client.OracleException The provider is not compatible with the version of Oracle client at Oracle.DataAccess.Client.OracleInit.Initialize() at Oracle.DataAccess.Client.OracleConnection..cctor()" error message was thrown (policies for both ODAC 10.2 and 11 are exists in GAC (assembly), pointing to Oracle.DataAccess 11 from ODP 2x bin).

So, How and which components can I check to ensure appropriate versions of ODP and Oracle Client were installed and application will be connected?

Thank you in advance!