Use the following as a guideline through the maze of JDBC drivers.
Also known as JDBC-ODBC bridge which provides JDBC access to most ODBC drivers. The primary drawback of this approach is that database client code must be loaded and configured on each client machine. There also is a performance hit caused by mapping JDBC calls to ODBC over the software bridge.
A Native-API Partly-Java driver that converts JDBC calls into calls for the client API (Oracle, Sybase, Informix, etc.). This style of driver requires native code on the client and some client-specific configuration as well. (e.g SQL*net).
A Net-Protocol All-Java driver which translates JDBC calls into a DBMS-independent net protocol which is then translated to a DBMS protocal by a middleware server. The choice of this driver would be driven by the desire to use a database middleware solution. Hopefully, most, if not all, middleware vendors will soon, if not yet, add JDBC drivers to their existing products. Configuration is dependent upon the individual middleware vendors (Visigenic, OpenLink, etc)
A Native-Protocol, All-Java driver which allows direct calls from the Java client to the DBMS server. It is pure Java and requires no configuration on the client machine other than telling Java where to find the driver. The catch is that you still have to deal with Java Security mechanisms. Untrusted applets can connect only to the host from which the applet was downloaded.
The choice of JDBC driver type really depends upon the architecture of your existing systems and which drivers are available for your particular database. Sun maintains a list of the types and vendors of JDBC drivers at: http://splash.javasoft.com/jdbc/jdbc.drivers.html.
Oracle recently released both a type 2 and a type 4 driver. You can find them at: http://www.oracle.com/products/free_software/index.html. The type 2 is the Oracle JDBC OCI driver and the type 4 is the Oracle JDBC THIN driver. The Oracle JDBC OCI driver uses native code and requires configuration on each client. This configuration is done through SQL*net. Clients running JDBC OCI applications will need to have a SQL*net installation. The Thin JDBC driver does not require any prior installation on the client of Oracle, OCI, or SQL*net. A JDBC type 4 driver can help you connect your Java applications to any Oracle Server, anywhere on the Internet, from any machine with a Java VM.