JDBC
Why use JDBC?
Before JDBC, ODBC(Open
Database Connectivity) API was used to connect and execute query to
the
database. But ODBC API uses ODBC driver that is written in C language
which is plateform dependent and unsecured. That is why Sun
Microsystem has defined its own API (JDBC API) that uses JDBC driver written
in Java language.
|
What is API?
API (Application programming
interface) is a document that contains description of all the features of a
product or software. It represents classes and interfaces that software
programs can follow to communicate with each other. An API can be created for
applications, libraries, operating systems, etc.
JDBC Driver is a
software component that enables java application to interact with the
database.There are 4 types of JDBC drivers:
- JDBC-ODBC bridge driver
- Native-API driver (partially java driver)
- Network Protocol driver (fully java driver)
- Thin driver (fully java driver)
1) JDBC-ODBC bridge driver
The JDBC-ODBC bridge driver uses ODBC driver to connect to the
database. The JDBC-ODBC bridge driver converts JDBC method calls into the ODBC
function calls. This is now discouraged because of thin driver.
Advantages:
- easy to use.
- can be easily connected to any database.
Disadvantages:
- Performance degraded because JDBC method call is converted into the ODBC funcion calls.
- The ODBC driver needs to be installed on the client machine
2) Native-API driver
The Native API driver uses the client-side libraries of the
database. The driver converts JDBC method calls into native calls of the
database API. It is not written entirely in java.
|
Advantage:
- performance upgraded than JDBC-ODBC bridge driver.
Disadvantage:
- The Native driver needs to be installed on the each client machine.
- The Vendor client library needs to be installed on client machine.
3) Network Protocol driver
The Network Protocol driver
uses middleware (application server) that converts JDBC calls directly or
indirectly into the vendor-specific database protocol. It is fully written in
java
|
Advantage:
- No client side library is required because of application server that can perform many tasks like auditing, load balancing, logging etc.
Disadvantages:
- Network support is required on client machine.
- Requires database-specific coding to be done in the middle tier.
- Maintenance of Network Protocol driver becomes costly because it requires database-specific coding to be done in the middle tier.
4) Thin driver
The thin driver converts
JDBC calls directly into the vendor-specific
database protocol. That is why it is known as thin driver. It is fully written in Java language.
Advantage:
Disadvantage:
|
0 comments:
Post a Comment