Partilhar via


O que é ODBC?

Existem muitos equívocos sobre ODBC no mundo da computação. Para o utilizador final, é um ícone no Painel de Controlo do Microsoft Windows. Para o programador da aplicação, é uma biblioteca que contém rotinas de acesso a dados. Para muitos outros, é a resposta a todos os problemas de acesso a bases de dados alguma vez imaginados.

Antes de mais, o ODBC é uma especificação para uma API de base de dados. Esta API é independente de qualquer SGBD ou sistema operativo; embora este manual use C, a API ODBC é independente da linguagem. A API ODBC baseia-se nas especificações CLI do Open Group e ISO/IEC. ODBC 3. x implementa totalmente ambas as especificações – versões anteriores do ODBC baseavam-se em versões preliminares dessas especificações, mas não as implementaram totalmente – e adiciona funcionalidades comumente necessárias aos desenvolvedores de aplicações de bases de dados baseadas em ecrã, como cursores roláveis.

As funções na API ODBC são implementadas por desenvolvedores de drivers específicos para Sistemas de Gestão de Bases de Dados (SGBD). As aplicações chamam as funções nestes drivers para, de forma independente do SGBD, aceder aos dados. Um Gestor de Condutores gere a comunicação entre aplicações e drivers.

Embora a Microsoft forneça um gestor de drivers para computadores com Microsoft Windows 95 e posteriores, tenha escrito vários drivers ODBC e chame funções ODBC a partir de algumas das suas aplicações, qualquer pessoa pode escrever aplicações e drivers ODBC. De facto, a grande maioria das aplicações e drivers ODBC disponíveis atualmente são desenvolvidos por empresas que não a Microsoft. Além disso, existem drivers e aplicações ODBC no macOS e numa variedade de plataformas UNIX.

Para ajudar desenvolvedores de aplicações e drivers, a Microsoft oferece um ODBC Software Development Kit (SDK) para computadores com Windows 95 e posteriores, que fornece o gestor de drivers, DLL do instalador, ferramentas de teste e aplicações de exemplo. A Microsoft colaborou com a Visigenic Software para portar estes SDKs para Macintosh e várias plataformas UNIX.

É importante perceber que o ODBC foi concebido para expor capacidades de bases de dados, não para as complementar. Assim, os criadores de aplicações não devem esperar que o uso do ODBC transforme subitamente uma base de dados simples num motor de base de dados relacional completo. Também não se espera que os criadores de drivers implementem funcionalidades que não se encontram na base de dados subjacente. Uma exceção a isto é que os programadores que escrevem drivers que acedam diretamente a dados de ficheiros (como dados num ficheiro Xbase) são obrigados a escrever um motor de base de dados que suporte pelo menos funcionalidades SQL mínimas. Outra exceção é que o componente ODBC do SDK do Windows, anteriormente incluído no Microsoft Data Access Components (MDAC) SDK, fornece uma biblioteca de cursores que simula cursores roláveis para drivers que implementam um certo nível de funcionalidade.

As aplicações que utilizam ODBC são responsáveis por qualquer funcionalidade entre bases de dados. Por exemplo, o ODBC não é um motor de junção heterogéneo, nem é um processador de transações distribuído. No entanto, por ser independente do SGBD, pode ser usado para construir tais ferramentas cruzadas de bases de dados.