What dependencies have LLBLGen Pro 2.6 components with Oracle ODP.NET?

Posts   
 
    
changomarcelo avatar
Posts: 62
Joined: 15-Feb-2007
# Posted on: 14-Sep-2010 16:39:03   

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.

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? 2. Should it be installed in the GAC? 3. What version of this DLL should I see installed in the GAC? 4. 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. 5. Someone told me I souldn't have a ORACLE_HOME env variable. Does it make sense?

Thanks!

MTrinder
User
Posts: 1461
Joined: 08-Oct-2008
# Posted on: 14-Sep-2010 21:12:29   

Please can you post the full text of the exception...? Have you tried with the latest version of 2.6?

Matt

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39898
Joined: 17-Aug-2003
# Posted on: 15-Sep-2010 10:40:43   

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)

  1. 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)

  1. 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.

  1. 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.
  2. 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.

Frans Bouma | Lead developer LLBLGen Pro