Difference Between ODBC and JDBC

ODBC vs. JDBC

Open Database Connectivity (also known as ODBC) is a function that provides a standard software API method to those computers using database management systems (or DBMS). Its designed was predicated on the idea of making a function independent of programming languages, database systems and, operating systems.

Java Database Connectivity (also known as JDBC) is an API that is used specifically for the Java programming language. It is used to define how a client may access a particular database. It also provides methods for querying and updating data in that particular database. The JDBC API is orientated specifically towards relational databases. Initially, the JDBC API was introduced as a part of the Java 2 Platform, SE version 1.1. Coupled with a reference implementation JDBC to ODBC bridge, this API was capable of enabling connections to any ODBC accessible data source on the JVM host environment.

The implementations found on ODBCs are run through a plethora of operating systems. These systems include, but are not limited to Microsoft Windows, Unix, Linux, and Mac OS X. There are literally hundreds of drivers that exist of the ODBC variety –these include drivers for enterprise DBMS (Oracle, DB2, Microsoft SQL Server, Sybase, IBM Lotus Domino, and OpenLink Virtuoso). Some of these drivers are also found on desktop database products such as FileMaker and Microsoft Access.

JDBC makes it possible for multiple implementations to exist and be used by the exact same application for every implementation. This API offers a mechanism for dynamically loading the necessary Java packages and registering those particular packages to the JDBC Driver Manager. The Driver Manager is specifically used as a means to produce many connections –essentially, acting as a connection factory– in order to create connections of the JDBC variety. These connections support the creation and execution of statements. These statements have the ability to be updated (statements such as the SQL statements CREATE, INSERT, UPDATE, and DELETE). These statements may also be query statements (like the SELECT statement). Stored procedures are able to be invoked through a JDBC connection. There are three specific classes in which these statements may be represented in JDBC: Statement, PreparedStatement, and CallableStatement. Statements that are considered update statements return an update count. This count indicates how many rows were affected in the database. Query statements return a JDBC row result set –meaning it is a statement that is invoked in order to walk over the result set.

Summary:

1. ODBC is a function that provides a standard software API method to computers using DBMSs; JDBC is an API used for the Java programming language to define how a client may access a database.

2. ODBC implementations are run through multiple operating systems; JDBC implementations can exist and be used by the same application.