Java DataBase Connectivity o JDBC es una interfaz para el lenguaje de programación Java, mientras que Open DataBase Connectivity o ODBC es una interfaz independiente del idioma. JDBC fue desarrollado por una subsidiaria de Sun Microsystems llamada JavaSoft, mientras que ODBC fue diseñada por el Grupo de Acceso SQL.
JDBC y ODBC se basan en el estándar de interfaz de nivel de llamada X /Open SQL. Proporcionan una interfaz de programa de aplicación, o API, que permite que el mismo programa acceda a diferentes bases de datos independientemente de la propiedad del proveedor. Mediante el uso de lenguaje de consulta estructurado estándar, o sentencias de SQL, se pueden consultar bases de datos para almacenar, recuperar, eliminar o modificar datos.
JDBC se usa comúnmente para bases de datos orientadas a objetos, mientras que ODBC se usa para acceder a sistemas de administración de bases de datos o DBMS. JDBC solo puede ser utilizado por aplicaciones escritas en Java, mientras que ODBC no depende del lenguaje de programación, el sistema operativo y la plataforma del programa que intenta acceder a una base de datos. ODBC logra esta independencia al actuar como traductor entre la base de datos y la aplicación a través de un administrador de controladores. JDBC solo puede conectarse a bases de datos compatibles con ODBC mediante el uso de un puente de JDBC a ODBC.
Algunos defensores de JDBC sugieren que JDBC es más fácil de aprender en comparación con ODBC. Otra ventaja de JDBC sobre ODBC es una implementación más rápida en aplicaciones que no son de Windows.