This is an old revision of the document!
DB2 JDBC drivers
There are 2 types of jdbc drivers supported
- The legacy based CLI driver(Type 2)
- The new JDBC Universal driver(Type 4)
History behind the jdbc drivers
In order to understand how we came to the development of the DB2 Universal Driver, you need to understand how the JDBC specification defines the different types of drivers in the Java world.
Type 1 driver This type of driver code maps directly to a high level native API. JDBC and ODBC are similar APIs, so this type of driver is usually associated with the JDBC-ODBC bridge. This driver does not have too much context with respect to the DB2 UDB product.
Type 2 driver
A T2 driver has a native component that is part of the driver, but separate from the data access API. The native component and the Java component make up this driver. For DB2 UDB, the DB2 CLI libraries comprise the native component.
Type 3 driver
This is a Java client that communicates using a database independent protocol. Since the protocol is database independent, the advantage of this protocol falls to middleware servers that act as gateways to heterogeneous backend servers.
Type 4 driver
This driver is pure Java and implements the network protocol for a specific data source. The client connects directly to the data source.
DB2 JDBC support is provided as part of the Java enablement option for DB2 UDB clients and servers. You just need to make sure that you have the appropriate Java developer kit downloaded
Here is a comparison table
CLI legacy driver | Universal driver |
---|---|
db2java.zip | db2jcc.jar |
IN Unix: Use Type2 by placing | java/db2jcc.jar and |
java/db2java.zip in CLASSPATH | db2jcc_license_cu.jar in CLASSPATH |
Connection comparison | |
DB2 uses CLI interface | network communication. DB2 UDB uses |
CLI is the native component | distributed relational database architecture |
that communicates with the | (DRDA) to communicate to the server |
database server.the legacy-based CLI driver requires common client code |