Purpose:
Provides JDBC access via most ODBC drivers. Note that some ODBC binary code, and in many cases database client code, must be loaded on each client machine that uses this driver.
Best for:
Corporate networks or application server code, written in Java, in a three-tier architecture.
Type 2: Native
API, partly Java driver
Purpose:
Converts JDBC calls into calls on the client API for Oracle, Sybase, Informix, DB2, or other DBMS. Note that, like the bridge driver, this style of driver requires some binary code on each client machine.
Best for:
Taking advantage of characteristics that are unique to a specific RDBMS.
Type 3:Net protocol, all-Java driver
Purpose:
Translates JDBC calls into a DBMS-independent network protocol that is then translated into a DBMS protocol by a server. The specific protocol that's used depends on the vendor.
Best for:
Connecting all-Java clients to many different databases.
Type 4:Native protocol, all-Java driver
Purpose:
Converts JDBC calls into the network protocol used directly by DBMSes.
Note that since many of these protocols are proprietary, DBMS vendors will be the primary source for this style of dri
ver.
Best for:
Direct calls from the client machine to the DBMS server; especially practical for intranet access.