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

I am having following setup:

Com1: This machine has Oracle 10g XE installed and i am developing my application here in .Net 3.5 sp1. The application is to backup data on the machine using oracle database.

Com2: This machine is having .net framework 3.5 sp1 installed and is not having Oracle.

When i run my application from com1, it successfully connects to database and backups the data.

But, on running the application from com2 i get following error : "System.Data.OracleClient requires Oracle client software version 8.1.7 or greater"

I am using the OracleClient class to access Oracle in my application.

I far as i know we do not need to install Oracle client on every machine where we need to run an application accessing oracle server.

Please tell what can be the possible cause of this error.
LVL 1
prakhardeepAsked:
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.

schwertnerCommented:
Include the oracle_home in the path .
See
http://thedotnet.com/nntp/451661/showpost.aspx
0
prakhardeepAuthor Commented:
But the computer from which i am running the application is not having Oracle installed.

I have checked using Wireshark by capturing the packets going from com2 to com1. No packets are sent.

Which means that the application is giving error before sending any packet for connection opening.

On checking the error log, i found out that the error was coming from function Open() of OracleConnection class. Which means that the application is not able to recognize this function when running from com2 but is able to do so when running from com1.
0
schwertnerCommented:
You have to use either ADO.NET or ODP.NET to connect Oracle.


First  install the .NET Managed Provider for Oracle. This will allowed you to
make a connection to Oracle with a windows Forms test application running
locally on the server.  
After that  install the MDAC 2.8 components.

 
0
prakhardeepAuthor Commented:
We can do it with OracleClient also with following setup:

Actually, the OracleClient class of .Net uses library functions of Oracle dll's to connect to remote Oracle Server.

So, to run your client application having OracleClient class we need to have the Oracle Client dll's installed.

This can be done in two ways:

1. Install Oracle Client on the remote machine, this will require you to run the setup on every machine where you need to run your client application
2. Use the Oracle Instant Client dll's with your client application. You can download the Oracle instant client from the Oracle website. It is just a zip file with the required dll files. Then just copy the dll's in the folder of your client exe.

For downloading InstantClient for Windows x32 : http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html
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
Oracle Database

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.