Por lo general, las aplicaciones de software se escriben en un lenguaje de programación específico (como Java, C#, etc.), mientras que las bases de datos aceptan consultas en algún otro lenguaje específico de base de datos (como SQL). Por lo tanto, cuando una aplicación de software necesita acceder a datos en una base de datos, se requiere una interfaz que pueda traducir los idiomas entre sí (aplicación y base de datos). De lo contrario, los programadores de aplicaciones necesitan aprender e incorporar lenguajes específicos de bases de datos dentro de sus aplicaciones. ODBC (Open Database Connectivity) y JDBC (Java DatabBase Connectivity) son dos interfaces que resuelven este problema específico. ODBC es una interfaz independiente de plataforma, lenguaje y sistema operativo que se puede utilizar para este propósito. Del mismo modo, JDBC es una API de datos para el lenguaje de programación Java.
ODBC es una interfaz para acceder a los sistemas de gestión de bases de datos (DBMS). ODBC fue desarrollado por SQL Access Group en 1992 en un momento en que no había un medio estándar para comunicarse entre una base de datos y una aplicación. No depende de un lenguaje de programación específico o un sistema de base de datos o un sistema operativo. Los programadores pueden usar la interfaz ODBC para escribir aplicaciones que puedan consultar datos de cualquier base de datos, independientemente del entorno en el que se esté ejecutando o el tipo de DBMS que use.
JDBC es una API de datos desarrollada para el lenguaje de programación Java. Fue creada por Sun Microsystems (propietarios iniciales de Java). Es una interfaz que ayuda a un cliente a acceder a un sistema de base de datos, proporcionando métodos para consultar y actualizar datos en las bases de datos. JDBC es más adecuado para bases de datos orientadas a objetos.