Link to home
Start Free TrialLog in
Avatar of mrong
mrong

asked on

System.Data.OracleClient requires Oracle client software version 8.1.7 or greater

Greeting,

I have a C# application which updating records in Oracle 11g database. It was working fine on another testing environment which running WinXP. After I copied to another XP machine, I got error "System.Data.OracleClient requires Oracle client software version 8.1.7 or greater". The old machine is running Oracle9 and the new one is running Oracle10. In the new Xp machine I can use sqlplus to log into the database.

I saw there are solutions for folder permission online. I gave Authenticated user all the permission needed. but still got the same error.

Please suggest.
Avatar of slightwv (䄆 Netminder)
slightwv (䄆 Netminder)

When you installed the Oracle Client, did you also install ODP.Net?  This isn't an automatic install.

I also expect you'll need to recompile the application.  ODP.Net doesn't like mixing versions.  If you compiled with a 9i version, you will likely need to recompile with the 10g version.

Although that shouldn't generate the error you are now getting, it will likely be the next error you receive.

There is a good discussion about that one in a previous question here:
https://www.experts-exchange.com/questions/27020817/The-provider-is-not-compatible-with-the-version-of-Oracle-client.html
Avatar of mrong

ASKER

ODP.Netis Oracle data provider for .net?
Thanks
Avatar of mrong

ASKER

Oracle data provider for .net is installed. thanks
Avatar of mrong

ASKER

In the app references, I found the following info for system.data.oracleclient
runtime version: v2.0.50727
version: 2.0.0.0

in the property of my C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727, I found the following
File version: 2.0.50727.3082

Does it mean they match?

Thanks.
Search your oracle installation folder for Oracle.DataAccess.dll.

What is the version of that file?
Avatar of mrong

ASKER

10.2.0.100
I believe system.data.oracleclient is the Microsoft client file that has been deprecated and shouldn't be used.

Do you have a reference to Oracle.DataAccess in C:\WINDOWS\Microsoft.NET somewhere?

If not, I don't believe the file has been properly registered in the GAC.

If this is a .Net 2.0 project, take a look at:
http://msdn.microsoft.com/en-us/library/dkkx7f79(v=vs.80).aspx

You might also try copying Oracle.DataAccess.dll to the bin folder of the app.
Avatar of mrong

ASKER

how to check if I have a reference to Oracle.DataAccess in C:\WINDOWS\Microsoft.NET somewhere?
Thanks.
Windows Explorer and 'Search'?
Avatar of mrong

ASKER

searched and nothing found.
If I copy Oracle.DataAccess.dll to the bin folder of app, Do I also need to add it to the app references in VS?
Thanks.
If you have the project available in VS, then just recompile it using the new drivers.  Yes, you need to add the reference to the version you currently have installed.
Avatar of mrong

ASKER

tried but no luck.
Would it help if I removed Oracle10g client and install Oracle 9g client?
The old machine is running oracle 9g client....
Since 9i and 10g are no longer supported I guess it doesn't make any difference which one you use.

I would always encourage you to use the newest version you can.

What version of the database is this app connecting to?
Avatar of mrong

ASKER

The database is Oracle 11g and the app is running on a win2003 server which has Oracle 9 client installed.
I want to copy the app to my winXP testing machine and modify the code then copy back.

Thanks.
ASKER CERTIFIED SOLUTION
Avatar of slightwv (䄆 Netminder)
slightwv (䄆 Netminder)

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial