JDBC driver

A JDBC driver is a software component enabling a Java application to interact with a database.

The driver is platform-dependent as it makes use of ODBC which in turn depends on native libraries of the underlying operating system the JVM is running upon.

The middle-tier (application server) converts JDBC calls directly or indirectly into a vendor-specific database protocol.

This differs from the type 4 driver in that the protocol conversion logic resides not at the client, but in the middle-tier.

The type 3 driver is platform-independent as the platform-related differences are taken care of by the middleware.

Also, making use of the middleware provides additional advantages of security and firewall access.

Written completely in Java, type 4 drivers are thus platform independent.

As the database protocol is vendor specific, the JDBC client requires separate drivers, usually vendor supplied, to connect to different types of databases.

Schematic of the JDBC-ODBC bridge
Schematic of the Native API driver
Schematic of the Network Protocol driver
Schematic of the Native-Protocol driver