Java DataBase Connectivity o JDBC è un'interfaccia per il linguaggio di programmazione Java mentre Open DataBase Connectivity o ODBC è un'interfaccia indipendente dalla lingua. JDBC è stato sviluppato da una filiale di Sun Microsystems chiamata JavaSoft, mentre ODBC è stato progettato da SQL Access Group.
JDBC e ODBC sono basati sullo standard di interfaccia a livello di chiamata X /Open SQL. Forniscono un'interfaccia del programma applicativo, o API, che consente allo stesso programma di accedere a diversi database indipendentemente dalla proprietà del fornitore. Utilizzando standard Structured Query Language, o SQL, è possibile interrogare i database per archiviare, recuperare, eliminare o modificare i dati.
JDBC viene comunemente utilizzato per i database orientati agli oggetti mentre ODBC viene utilizzato per accedere ai sistemi di gestione dei database o DBMS. JDBC può essere utilizzato solo da applicazioni scritte in Java, mentre ODBC non dipende dal linguaggio di programmazione, dal sistema operativo e dalla piattaforma del programma che tenta di accedere a un database. Questa indipendenza viene raggiunta dall'ODBC agendo da traduttore tra il database e l'applicazione tramite un gestore di driver. JDBC può connettersi solo a database compatibili con ODBC utilizzando un bridge JDBC-to-ODBC.
Alcuni sostenitori di JDBC suggeriscono che JDBC è più facile da imparare rispetto a ODBC. Un altro vantaggio di JDBC rispetto a ODBC è l'implementazione più rapida su applicazioni non Windows.