ODBC é uma API de acesso a dados que permite que uma aplicação seja escrita sem ter que especificar ou conhecer o sistema de banco de dados que irá utilizar quando executado, ou seja, ODBC isola a aplicação das especificidades de acesso a um banco de dados.
O histórico de lançamento do ODBC é:
Versão | Lançado | Descrição |
---|---|---|
1.0 | 1993 | A primeira versão do ODBC. Apenas alguns aplicativos e drivers ODBC 1.0 ainda existem (no Windows) e nenhum conhecido no Linux. |
2.0 | 1994 | Pequena reorganização da API (por exemplo, novo SQLBindParameter substituindo SQLSetParam ) core, alterações de conformidade de nível 1 e 2, novos tipos de dados. Ainda há vários aplicativos e drivers ODBC 2.0 disponíveis. No Linux, a maioria dos drivers ODBC são ODBC 3 e os poucos que ainda são ODBC 2.0 geralmente estão migrando para 3. Houve também um ODBC 2.5. |
3.0 | 1995 | ODBC 3.0 introduziu um grande número de novas APIs e identificadores de descritor ODBC. A maioria dos drivers ODBC no Linux agora são ODBC 3.xe muitos aplicativos também são 3.x. |
3,5x | 1997 | Introdução do Unicode. |
3,8x | 2009 | Pool de conexão com reconhecimento de driver, que permite que um driver ODBC estime melhor o custo de reutilização de uma conexão do pool com base nas configurações de conexão de um usuário. Operação de conexão assíncrona, que permite que os aplicativos preencham várias conexões no pool no momento da inicialização para que as solicitações de conexão subsequentes possam ser atendidas com mais eficiência. Tipos de dados C específicos do driver, que são úteis para dar suporte a novos tipos de dados DBMS que os tipos C existentes não representam corretamente. Antes da versão 3.8, os drivers ODBC precisavam usar um tipo genérico como SQL_C_BINARY para trabalhar com tipos específicos de DBMS, que o aplicativo precisaria reconstruir. Parâmetros de saída transmitidos, que permitem que um aplicativo chame SQLGetData com um buffer pequeno várias vezes para recuperar um valor de parâmetro grande, reduzindo o espaço ocupado pela memória do aplicativo. (Fornecemos um exemplo específico do SQL Server para parâmetros de saída transmitidos em nossa seção de exemplos C.) |
A Microsoft anunciou recentemente que estava trabalhando no ODBC 4.0, a primeira atualização significativa da especificação ODBC desde 1997. O ODBC 4.0 visa atender aos requisitos dos armazenamentos de dados modernos. Por exemplo, dados com uma estrutura hierárquica ou uma fonte de dados que usa autenticação da Web para controlar o acesso a eles.
Os principais novos recursos que o ODBC 4.0 inclui são:
Recurso | Descrição |
---|---|
Drivers particulares | Drivers ODBC que são visíveis apenas para um aplicativo específico. Drivers privados não são expostos no aplicativo de administrador de fonte de dados ODBC em todo o sistema. |
Extensões de idioma por meio de cláusulas de escape SQL adicionais | As cláusulas de escape ODBC fornecem uma maneira neutra de DBMS para aplicativos usarem construções que não fazem parte do SQL-92. Por exemplo, associações externas, execução de função, literais de data e hora e assim por diante. O ODBC 4.o fornece novas sequências de escape para cobrir construções SQL adicionais, como cláusulas de limite, bem como outras extensões para SQL, como selecionar valores inseridos, atualizados ou excluídos. |
Dados semiestruturados:tabelas cujo esquema pode não ser definido ou pode ser alterado linha a linha | Um esquema pode ser inferido de uma fonte sem esquema, como um documento JSON, XML ou CSV, para expor uma visualização relacional padrão dos dados. |
Dados hierárquicos:dados com estrutura aninhada (campos estruturados, listas) | Aplicativos que solicitam ODBC 4.x podem ver uma representação mais fiel de dados estruturados hierarquicamente contendo valores de linha, coleção e dados não tipados. |
Autenticação da Web | A API ODBC SQLDriverConnect foi alterado para ser compatível com os requisitos de um mecanismo de autenticação da Web, como OAuth . Por exemplo, será possível usar SQLDriverConnect para fornecer inicialmente um token de acesso com vida útil limitada e, em seguida, estender a duração de uma sessão com um token de atualização. |