Diferença entre ODBC e JDBC

ODBC vs. JDBC

A Conectividade de banco de dados aberto (também conhecida como ODBC) é uma função que fornece um método API de software padrão para os computadores que usam sistemas de gerenciamento de banco de dados (ou DBMS). Seu design foi baseado na idéia de tornar uma função independente de linguagens de programação, sistemas de banco de dados e sistemas operacionais.

O Java Database Connectivity (também conhecido como JDBC) é uma API usada especificamente para a linguagem de programação Java. É usado para definir como um cliente pode acessar um banco de dados específico. Ele também fornece métodos para consultar e atualizar dados nesse banco de dados específico. A API JDBC é orientada especificamente para bancos de dados relacionais. Inicialmente, a API JDBC foi introduzida como parte da Java 2 Platform, SE versão 1.1. Juntamente com uma ponte JDBC para ODBC de implementação de referência, essa API foi capaz de permitir conexões com qualquer fonte de dados acessível por ODBC no ambiente host da JVM.

As implementações encontradas nos ODBCs são executadas em uma infinidade de sistemas operacionais. Esses sistemas incluem, entre outros, Microsoft Windows, Unix, Linux e Mac OS X. Existem literalmente centenas de drivers da variedade ODBC, incluindo drivers para DBMS corporativo (Oracle, DB2, Microsoft SQL Server, Sybase , IBM Lotus Domino e OpenLink Virtuoso). Alguns desses drivers também são encontrados em produtos de banco de dados de desktop, como FileMaker e Microsoft Access.

O JDBC possibilita a existência de várias implementações e a utilização exata do mesmo aplicativo para cada implementação. Essa API oferece um mecanismo para carregar dinamicamente os pacotes Java necessários e registrar esses pacotes específicos no JDBC Driver Manager. O Driver Manager é usado especificamente como um meio para produzir muitas conexões - essencialmente, atuando como uma fábrica de conexões - para criar conexões da variedade JDBC. Essas conexões suportam a criação e execução de instruções. Essas instruções podem ser atualizadas (instruções como as instruções SQL CREATE, INSERT, UPDATE e DELETE). Essas instruções também podem ser instruções de consulta (como a instrução SELECT). Os procedimentos armazenados podem ser chamados por meio de uma conexão JDBC. Existem três classes específicas nas quais essas instruções podem ser representadas no JDBC: Statement, PreparedStatement e CallableStatement. Instruções que são consideradas instruções de atualização retornam uma contagem de atualizações. Essa contagem indica quantas linhas foram afetadas no banco de dados. As instruções de consulta retornam um conjunto de resultados de linha JDBC - ou seja, é uma instrução que é invocada para percorrer o conjunto de resultados.

Resumo:

1. ODBC é uma função que fornece um método API de software padrão para computadores usando DBMSs; JDBC é uma API usada para a linguagem de programação Java para definir como um cliente pode acessar um banco de dados.

2. As implementações ODBC são executadas em vários sistemas operacionais; As implementações de JDBC podem existir e ser usadas pelo mesmo aplicativo.