changomarcelo wrote:
We had a system working well on Oracle 10g release 2.
Now we installed two patches:
- PATCH NUMBER 6810189. PATCH NAME "10.2.0.4.0 PATCH SET FOR ORACLE DATABASE SERVER"
- PATCH NUMBER 7480785. PATCH NAME Oracle® Database Server Version 10.2.0.4 Patch 10
The application stopped working throwing:
Type: System.TypeInitializationException
Message:The type initializer for 'Oracle.DataAccess.Client.OracleConnection' threw an exception.
We had this issue in the past and I believe the solution was to use the 2.6 runtime DLLs, so I have those referenced in my project.
I know the project should work as is, with no changes, because we successfully make it run in another production server, but we don't have access to it nor notes on how they make it run.
Oracle installs policy files, at least normally they do, did they install a policy file in the gac for this?
the ODP.NET DQE for v2.6 reference 2.102.2.20
My questions are:
1. If the 2.6 runtime DLLs have any dependency with some specific version of ODP.NET Oracle.DataAccess.dll. What other Oracle dependencies have LLBLGen Pro products?
Driver + DQE reference 2.102.2.20. So if you install a higher version of ODP.NET, an assembly redirect from 2.102.2.20 to that newer version has to be present. Either as a policy file in the gac installed by the vendor (Oracle), or you can make the assembly redirect in your application's config file (see llblgenpro.exe.config for ideas how to do that)
- Should it be installed in the GAC?
Never install LLBLGen Pro assemblies in the gac. ODP.NET installs the assembly in the gac normally, but I don't know if patches do that too. If not, add it to the gac (the Oracle.DataAccess.dll that is)
- What version of this DLL should I see installed in the GAC?
the version you installed. But it seems you installed a patch for the server, so I don't know why that affects the odp.net version.
- I don't see any entry in HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ODP.NET for the Oracle.DataAccess 2.102.4.0 version. I don see folders for version 1.102.2.0, 1.102.4.0 and 2.102.2.0.
- Someone told me I souldn't have a ORACLE_HOME env variable. Does it make sense?
Thanks!
Oracle home env variable is required for ODP.NET and the oracle client to work, it's how it finds where the client is installed.