O Java DataBase Connectivity ou JDBC é uma interface para a linguagem de programação Java, enquanto o Open DataBase Connectivity ou ODBC é uma interface independente da linguagem. JDBC foi desenvolvido por uma subsidiária da Sun Microsystems chamada JavaSoft, enquanto ODBC foi desenvolvido pelo SQL Access Group.
JDBC e ODBC são baseados no padrão de interface de nível de chamada X /Open SQL. Eles fornecem uma Interface de Programa de Aplicativo, ou API, que permite ao mesmo programa acessar bancos de dados diferentes, independentemente da propriedade do fornecedor. Usando instruções padrão, Structured Query Language, ou SQL, os bancos de dados podem ser consultados para armazenar, recuperar, excluir ou modificar dados.
JDBC é comumente usado para bancos de dados orientados a objetos, enquanto ODBC é usado para acessar sistemas de gerenciamento de banco de dados ou DBMS. JDBC só pode ser usado por aplicativos escritos em Java, enquanto ODBC não depende da linguagem de programação, sistema operacional e plataforma do programa que tenta acessar um banco de dados. Essa independência é alcançada pelo ODBC atuando como tradutor entre o banco de dados e o aplicativo por meio de um gerenciador de drivers. O JDBC só pode se conectar a bancos de dados compatíveis com ODBC usando uma ponte JDBC para ODBC.
Alguns proponentes do JDBC sugerem que o JDBC é mais fácil de aprender em comparação com o ODBC. Outra vantagem do JDBC sobre o ODBC é a implementação mais rápida em aplicativos não Windows.