Upgrading ODP/.Net 4 Application to Oracle 19c — oracle-tech

    Forum Stats

  • 3,715,917 Users
  • 2,242,907 Discussions
  • 7,845,683 Comments

Discussions

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Upgrading ODP/.Net 4 Application to Oracle 19c

b5b06b9a-254d-4fd2-b91b-986a1db7bd4c
edited July 2020 in ODP.NET

Hello, I'm running into an error while updating my Oracle client on an application server running a .Net 4 application on IIS 7, which is using the Oracle data provider for .Net in the GAC.

The error from the application is The provider is not compatible with the version of Oracle client

Before installing the new version of the client, we were running version 11.2 of the client. I ran the OUI installer (19c), I used the "Administrator" option. After the installer completed, I updated the Oracle Path variable to the install location of the new version, as well as the registry entry key at hkey_local_machine/software/oracle/odp.net/[version]. I also ran the script in the folder of the .net dlls in the oracle folder (OraProvCfg.exe) to register it to the gac and that appears to be correct (when I view it in [WINPATH]/assemblies)

Are there any other upgrade gotchas or variables that need to be changed that I'm missing? There are no references to the ODAC version or anything in my machine.config or the web.config of the project.

Answers

  • Alex Keh-Oracle
    Alex Keh-Oracle Posts: 2,752 Employee
    edited July 2020

    If ODP.NET is in the GAC, the GACed version will always be used. In general, you should rarely need to GAC as it will mean all ODP.NET apps will end up using the same version of the provider unless it's a different major version.

    It appears you are using unmanaged ODP.NET. For unmanaged ODP.NET, you will want to specify the DllPath so that your ODP.NET version knows which directory to find its unmanaged Oracle Client DLLs. Usually, this will be the Oracle Home bin. You can set the DllPath in the .NET config file, such as:

    <configuration>

      <oracle.dataaccess.client>

        <settings>

          <add name="DllPath"               value="C:\oracle\bin"/>

        </settings>

      </oracle.dataaccess.client>

    </configuration>

Sign In or Register to comment.