tags:

views:

63

answers:

3

I'm from MySQL background and am new to Oracle. I want to know

  • What is meant by Oracle Client?
  • What is its use?
  • What is its equivalent in MySQL ?

Thanks

+1  A: 

Its a piece of software that allows a remote computer to talk to Oracle. If you were to write a piece of software that communicated with the database, you would use the Oracle Client to facilitate that communication

Lerxst
+2  A: 

What is meant by Oracle Client?

and

What is its use?

In this context, a client is a class library (DLL) that allows you to connect remotely to the underlying database of an application. A client, always within the same context, can also be called a .NET Data Provider.

You may have multiple data providers based on the underlying database engine with which you're working.

There was System.Data.OracleClient (deprecated), provided by Microsoft.

There is Oracle.Data.Client, which is actually the best ever built Oracle Client, or Oracle .NET Data Provider. You may also download the latest Oracle 11g Data Provider for .NET.

So, when accessing the Oracle underlying database, make sure your work with this provider, proper for your version of Oracle, and start doing ADO.NET with your favorite database! =P

There are also some other tools that you can work with that will ease your data access code pain, such as Enterprise Library or NHibernate, both are frameworks to basically accessing databases.

Enterprise Library can do even more then that!

And NHibernate is an ORM (Object/Relation Mapping) tool that can work just very fine with Oracle.

Remember though, always use Oracle.Data.Client namespace in the Oracle.DataAccess.dll assembly.

What is its equivalent in MySQL ?

As the equivalence for MySQL, I guess it would be MySQL Connector/NET.

Will Marcouiller
Good explanation. I used to use the separate Oracle-provided assembly on an older project, but switched to the .NET-bundled version when the project was updated to .NET 2.0. Now I gotta switch it back...*grumble*
Grant Palin
Yes, the `System.Data.OracleClient` had a funny behaviour sometimes. We were using it too on a big project, until some troubles come out with the underlying Oracle database. We did some researches, and found out that some lacks of performance were due to the Microsoft Oracle Client. We have then switched to `Oracle Native Client`, and some of the troubles went away just like by magic! =) Thanks for the compliment.
Will Marcouiller
Why is this answer entirely .Net-centric? There have been Oracle clients since before .Net was ever dreamed of!
Charles
Right! But in today's development .NET occupies a great market, with Sun Java technologies. As I'm a .NET developer, I went .NET. You can post your own answer so that we all might benefit of your contribution, instead of arguing (no harm meant here). =)
Will Marcouiller
+3  A: 

It is the Oracle binaries installed that allow communication with the Oracle database. It can be using SQL*Plus, JDBC (type II or IV) or OCI (Oracle Call Interface).

Stellios
SQL*Plus goes through the OCI.'Installing' the instantclient is just an unzip operation, which makes things a lot easier.
Gary
Pro*C/C++ programs are written using OCI to interact with the database.http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/data_access.htm#sthref3719Could even go as far as including ODBC as an 'Oracle client'.
Stellios
The JDBC, ODBC, and OLE DB drivers, and the .Net Data Provider are all wrappers around OCI.
Charles