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!

"The provider is not compatible with the version of Oracle client"

587565Sep 19 2007 — edited Aug 10 2009
I'm developing a Web Service in VS 2005 (ASP.NET 2.0) to call an Oracle 9 DB (don't know exact version) to insert records in it. Unfortunately, I don't have an Oracle 9 DB in my development environment, so I've used Oracle 10g instead. I've also used the Oracle 11g ODAC 11.1.0.5.10 Beta. Things work nicely if I call the Web Service on my test server, but not when I call it on the deployment server:

System.Web.Services.Protocols.SoapException: Server was unable to process request. --->
System.TypeInitializationException: The type initializer for 'Oracle.DataAccess.Client.OracleConnection' threw an exception. --->
Oracle.DataAccess.Client.OracleException The provider is not compatible with the version of Oracle client at Oracle.DataAccess.Client.OracleInit.Initialize()

This old thread seem to describe a similar situation:

438959

As I understand the reply, I need to install the 10g client on the deployment server, or rebuild the project with a version of ODP.NET made for Oracle 9? The first alternative is not attractive, since the customer is restrictive against changes on the server. ODP.NET for Oracle 9 appears to be too old (.NET 1.1 and so on). Is ODP.NET a dead end in my situation?

There's something fundamental I don't get about the error. The Web Service is supposed to call an Oracle server, not a client. Why does the Oracle Data Provider for .NET try to connect to a client?
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Sep 7 2009
Added on Sep 19 2007
19 comments
30,063 views