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.
mrongAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

slightwv (䄆 Netminder) Commented:
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:
http://www.experts-exchange.com/Database/Oracle/Q_27020817.html
0
mrongAuthor Commented:
ODP.Netis Oracle data provider for .net?
Thanks
0
mrongAuthor Commented:
Oracle data provider for .net is installed. thanks
0
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

slightwv (䄆 Netminder) Commented:
Yes.
0
mrongAuthor Commented:
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.
0
slightwv (䄆 Netminder) Commented:
Search your oracle installation folder for Oracle.DataAccess.dll.

What is the version of that file?
0
mrongAuthor Commented:
10.2.0.100
0
slightwv (䄆 Netminder) Commented:
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.
0
mrongAuthor Commented:
how to check if I have a reference to Oracle.DataAccess in C:\WINDOWS\Microsoft.NET somewhere?
Thanks.
0
slightwv (䄆 Netminder) Commented:
Windows Explorer and 'Search'?
0
mrongAuthor Commented:
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.
0
slightwv (䄆 Netminder) Commented:
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.
0
mrongAuthor Commented:
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....
0
slightwv (䄆 Netminder) Commented:
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?
0
mrongAuthor Commented:
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.
0
slightwv (䄆 Netminder) Commented:
>>The database is Oracle 11g

I would forget the 9i and 10g clients and go with the new Oracle Managed Driver.

This doesn't require any Oracle Client install.

I've been experimenting with it since it was released and am happy with it so far.

For 32Bit apps:
http://www.oracle.com/technetwork/database/windows/downloads/utilsoft-087491.html

ODAC 12c Release 2 (12.1.0.1.2)          [Released December 20, 2013]
Download the ODP.NET, Managed Driver Xcopy version only
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
C#

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.