Partilhar via


Interface de programação padrão

A interface de programação é, talvez, a candidata mais óbvia à padronização. Na verdade, quando o ODBC estava sendo desenvolvido, a ANSI e a ISO já forneciam padrões para SQL incorporado e módulos SQL. Embora não houvesse padrões para uma CLI de banco de dados, o SQL Access Group, um consórcio industrial de fornecedores de bancos de dados, considerava a possibilidade de criar um; mais tarde, partes do ODBC se tornaram a base do trabalho.

Um dos requisitos do ODBC era que um único aplicativo binário tinha que funcionar com vários DBMSs. Por esse motivo, o ODBC não usa SQL incorporado ou linguagens de módulo. Embora a linguagem no SQL incorporado e nas linguagens de módulo seja padronizada, cada uma está vinculada a pré-compiladores específicos do DBMS. Assim, os aplicativos devem ser recompilados para cada DBMS, e os binários resultantes funcionam apenas com um único DBMS. Embora isto seja aceitável para aplicativos de baixo volume encontrados nos mundos dos minicomputadores e mainframes, é inaceitável no mundo dos computadores pessoais. Primeiro, é um pesadelo logístico proporcionar várias versões de software de alto volume e empacotados aos clientes; segundo, os aplicativos de computadores pessoais geralmente precisam acessar vários DBMSs simultaneamente.

Por outro lado, uma interface de nível de chamada pode ser implementada por meio de bibliotecas ou drivers de banco de dados, que residem em cada computador local; um driver diferente é necessário para cada DBMS. Como os sistemas operacionais modernos podem carregar as bibliotecas (como bibliotecas de vínculo dinâmico no sistema operacional Microsoft Windows) em tempo de execução, um único aplicativo pode acessar dados de diferentes DBMSs sem recompilação e também pode acessar dados de vários bancos de dados simultaneamente. À medida que novos drivers de banco de dados são disponibilizados, os usuários podem simplesmente instalá-los em seus computadores sem precisar modificar, recompilar ou vincular novamente os aplicativos de banco de dados. Além disso, uma interface de nível de chamada era uma boa candidata para o ODBC, pois o Windows, a plataforma para a qual o ODBC foi originalmente desenvolvido, já fazia uso extensivo dessas bibliotecas.