javasqldatabasejdbcdrivers

Difference between JDBC Driver type numbers


I noticed that JDBC has different Drivers like:

  1. Type 1 Driver
  2. Type 2 Driver etc.. to Type 4

Why did they get the name like Type 1, Type 2 etc.? Is there any logic?


Solution

  • The type number tells something about how the driver actually communicates with the database.

    1. Via ODBC API.
    2. Via DB vendor specific API (using JNI calls on e.g. a DLL file in Windows).
    3. Via generic network protocol (using sockets with e.g. TCP/IP protocol).
    4. Via DB vendor specific network protocol (still with sockets).

    In general (just by coincidence), how higher the type number, how better the JDBC driver performs.