Diferença entre ODBC e OLEDB

Anonim

ODBC vs OLEDB

Normalmente, as aplicações de software são escritas em uma linguagem de programação específica (como Java, C #, etc.), enquanto os bancos de dados aceitam consultas em algum outro idioma específico do banco de dados (como o SQL). Portanto, quando um aplicativo de software precisa acessar dados em um banco de dados, é necessária uma interface que possa traduzir idiomas entre si (aplicativo e banco de dados). Caso contrário, os programadores de aplicativos precisam aprender e incorporar idiomas específicos do banco de dados dentro de suas aplicações. ODBC (Open Database Connectivity) e OLEDB (Object Linking and Embedding, Database) são duas interfaces que solucionam este problema específico. ODBC é uma plataforma, linguagem e interface independente do sistema operacional que pode ser usada para esse fim. O OLEDB é o sucessor do ODBC.

O que é o ODBC?

ODBC é uma interface para acessar sistemas de gerenciamento de banco de dados (SGBD). O ODBC foi desenvolvido pelo SQL Access Group em 1992, por enquanto, não havia um meio padrão para se comunicar entre um banco de dados e um aplicativo. Não depende de uma linguagem de programação específica ou de um sistema de banco de dados ou de um sistema operacional. Os programadores podem usar a interface ODBC para escrever aplicativos que possam consultar dados de qualquer banco de dados, independentemente do ambiente em que está sendo executado ou do tipo de SGBD que ele usa.

Como o driver ODBC atua como um tradutor entre o aplicativo eo banco de dados, o ODBC é capaz de alcançar o idioma e a independência da plataforma. Isso significa que o aplicativo é aliviado do fardo de conhecer o idioma específico do banco de dados. Em vez disso, só conhece e usa a sintaxe ODBS e o driver irá traduzir a consulta para o banco de dados em um idioma que ele possa entender. Então, os resultados são retornados em um formato que pode ser entendido pelo aplicativo. A API de software ODBC pode ser usada com sistemas de banco de dados tanto relacionais como não relacionais. Outra grande vantagem de ter o ODBC como middleware universal entre um aplicativo e um banco de dados é que sempre que a especificação do banco de dados muda, o software não precisa ser atualizado. Somente uma atualização para o driver ODBC seria suficiente.

O que é OLEDB?

OLEDB é uma API de dados desenvolvida pela Microsoft. Ele permite acessar dados de uma grande variedade de fontes de dados. É implementado usando o COM da Microsoft (Component Object Mode). O OLEDB é considerado um sucessor do ODBC, e ele pode lidar com fontes de dados em um nível muito maior em comparação com o ODBC. Em essência, o OLEDB amplia os recursos ODBC para bancos de dados não-relacionais (por exemplo, bancos de dados de objetos e planilhas). Isso significa que o OLEDB pode ser usado com bancos de dados que não usam SQL. OLEDB foi desenvolvido como parte do Microsoft Data Access Components (MDAC).

Qual a diferença entre ODBC e OLEDB?

Se o programador não estiver familiarizado com COM, ODBC é a melhor opção. Mas, ODBC só é bom para bancos de dados relacionais, enquanto o OLEDB é adequado para bancos de dados relacionais e não-relacionais. Se o banco de dados não suportar OLE (ambientes não-OLE), o ODBC é a melhor escolha. Se o ambiente não for SQL, então você deve usar o OLEDB (porque o ODBC funciona apenas com o SQL). Da mesma forma, se componentes de banco de dados interoperáveis ​​são necessários, o OLEDB precisa ser usado em vez de ODBC. No entanto, para dados de 16 bits, o acesso a ODBC é a única opção (o OLEDB não suporta 16 bits). Finalmente, o OLEDB é a melhor escolha para se conectar a vários bancos de dados ao mesmo tempo (o ODBC pode se conectar a apenas um banco de dados por vez).