Skip to Main Content

ODP.NET

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Error: The provider is not compatible with the version of Oracle client

84c38874-6c5e-4dac-a3b2-ab446e77fc59Feb 8 2019 — edited Feb 8 2019

Hi,

I am trying to access Oracle 12.2 Exadata version and a custom database  and read the data. I am using Visual studio 2010 and C# version.

I am getting warning as 'There was a mismatch between the processor architecture of the project being built "MSIL" and the processor architecture of the reference Oracle.DataAcess, Version 4.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=x86, "x86". This mismatch may cause runtime failures. Please consider changing the targeted processor architecture of your project through the Configuration Manager so as to align the processor architecture between your project and the references, or take a dependency on reference with a processor architecture that matches the targeted processor architecture of your project'

I am able to build and run the application, but trying to access the database, the connection fails with the below error: The provider is not compatible with the version of Oracle client.

Below is the code used:

string oradb = System.Configuration.ConfigurationManager.ConnectionStrings["OraConn"].ConnectionString;  
OracleConnection conn = new OracleConnection(oradb);
conn.Open();

How to fix this?

Comments

Alex Keh-Oracle

These two errors have different root causes.

The first error is indicative that you are trying to use 64-bit .NET with 32-bit ODP.NET or vice-versa. The bitness of .NET FW and ODP.NET have to match. Once they do, you will no longer see this error.

The second error is due to using a version mismatch between Oracle Client and ODP.NET. For example, your Oracle Client may be version 12.2, but ODP.NET is version 11.2. This can occur inadvertently when you have multiple Oracle Clients installed on a machine. ODP.NET, like any other DLL, will look for its dependent Oracle Client DLLs. The first ones ODP.NET finds, it will use, but those versions may not match ODP.NET's version. To fix this problem, use the DllPath setting in your .NET config file. Set the value to the bin directory from which your ODP.NET should look for its dependent Oracle Client DLLs.

1 - 1

Post Details

Added on Feb 8 2019
1 comment
1,648 views