In a Type 3 driver, a three-tier approach is used to access databases. The JDBC clients use standard network sockets to communicate with a middleware application server. The socket information is then translated by the middleware application server into the call format required by the DBMS, and forwarded to the database server.
This kind of driver is extremely flexible, since it requires no code installed on the client, a single driver can actually provide access to multiple databases. You can think of the application server as a JDBC "proxy," meaning that it makes calls for the client application. As a result, you need some knowledge of the application server's configuration in order to effectively use this driver type.
Your application server might use a Type 1, 2, or 4 drivers to communicate with the database, understanding the nuances will prove helpful.
Following are the advantages of the type3 driver.
This driver can be considered as pure Java driver.
Unlike type1 and type2 drivers there is no need install native libraries on the client machine.
You can access multiple databases using this driver.
Without changing the classes in the client side you can switch from one database to other.
Following are the disadvantages of type3 driver.
In case of increased network calls the communication will be slow.
When we use this driver Java application will be dependent on ODBC driver indirectly.
While using JDBC-ODBC driver you need to install ODBC binary code on every client.
This is the costlier compared to other drivers.