Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Differences between the various Database Drivers

Re: Differences between the various Database Drivers

From: Vladimir M. Zakharychev <bob_at_dpsp-yes.com>
Date: Wed, 19 Mar 2003 12:12:25 +0300
Message-ID: <b59c9q$t5f$1@babylon.agtel.net>


Well, I think the differences are pretty obvious:

  1. JDBC driver is just a bridge to an ODBC driver (ODBC stands for Open DataBase Connectivity and is Microsoft's invention.) Probably will only work on Windows platforms and on Solaris (not sure ODBC is available elsewhere, but it well may be.) Introduces call translation overhead - all JDBC calls are internally translated to equivalent ODBC calls and results are translated back to JDBC format. Requires ODBC drivers and driver manager to be installed on every client (and may require native API libraries as well, if the ODBC driver uses them.)
  2. JDBC driver that uses native API provided by the database vendor. Oracle's JDBC-OCI is one example of such driver. The driver uses native OCI libraries to do its tasks. Pretty efficient, but locks you to only those platforms for which the native API libraries are available and requires the native API libraries to be installed on each client.
  3. JDBC-Net uses a common protocol and some middleware, which translates calls in this protocol to DBMS-specific calls. Requires special middleware (a proxy), to which all clients will connect, allows using the same driver to connect to any DBMS supported by the middleware. Highly portable, because it's pure Java. Middleware can be either pure Java, native or mixed - clients do not care how it implements actual communications with the DBMS.
  4. Also known as "thin" driver. Fully implements the DBMS communication protocols in Java and does not need any native API libs, drivers or middleware installed on client/network to communicate with the DBMS, just the driver itself. DBMS-specific (certainly) and is usually provided by the DBMS vendor. Highly portable, because it's pure Java. Almost all DBMS vendors ship a thin JDBC driver for their DBMS these days, and there are also independently developed drivers for some popular DBMSes.

More on the topic here: http://java.sun.com/products/jdbc/driverdesc.html

--
Vladimir Zakharychev (bob@dpsp-yes.com)                http://www.dpsp-yes.com
Dynamic PSP(tm) - the first true RAD toolkit for Oracle-based internet applications.
All opinions are mine and do not necessarily go in line with those of my employer.


"AspirantGujju" <marmikshah_at_yahoo.com> wrote in message
news:98acb40.0303181706.55b4131a_at_posting.google.com...

> I have just joined this knowledge sharing community. I am novice
> learner in the field of Databases but quickly adapt to the new things.
>
> I would like to know the clear and exact difference between the
> following device drivers that are categorized in the following manner.
>
> 1. JDBC-ODBC bridge plus and ODBC driver
> 2. Native API partly-Java Driver.
> 3. JDBC-Net pure Java Driver
> 4. Native Protocol pure Java Driver..
>
> I am writing in lieu of the JDBC. I am refering the book of JDBC API
> tutotial but not quite able to get the differences between above of
> these drivers.
>
> Please enlighten me
> with regards
> AspirantGujju
Received on Wed Mar 19 2003 - 03:12:25 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US