Compartilhar via


Criando um aplicativo de driver ODBC de cliente nativo do SQL Server

A arquitetura ODBC tem quatro componentes que executam as funções a seguir.

Componente Função
Aplicação Chama funções ODBC para se comunicar com uma fonte de dados ODBC, envia instruções SQL e processa conjuntos de resultados.
Gerenciador de Driver Gerencia a comunicação entre um aplicativo e todos os drivers ODBC usados pelo aplicativo.
Motorista Processa todas as chamadas de função ODBC do aplicativo, conecta-se a uma fonte de dados, passa instruções SQL do aplicativo para a fonte de dados e retorna resultados para o aplicativo. Se necessário, o driver converte o SQL ODBC do aplicativo para o SQL nativo usado pela fonte de dados.
Fonte de dados Contém todas as informações que um driver precisa para acessar uma instância específica de dados em um DBMS.

Um aplicativo que usa o driver ODBC do SQL Server Native Client para se comunicar com uma instância do SQL Server executa as seguintes tarefas:

  • Conecta-se a uma fonte de dados

  • Envia instruções SQL para a fonte de dados

  • Processa os resultados das instruções da fonte de dados

  • Processa erros e mensagens

  • Encerra a conexão com a fonte de dados

Um aplicativo mais complexo escrito para o driver ODBC do SQL Server Native Client também pode executar as seguintes tarefas:

  • Usar cursores para controlar a localização em um conjunto de resultados

  • Solicitar operações de confirmação ou reversão para controle de transação

  • Executar transações distribuídas envolvendo dois ou mais servidores

  • Executar procedimentos armazenados no servidor remoto

  • Chamar funções de catálogo para perguntar sobre os atributos de um conjunto de resultados

  • Executar operações de cópia em massa

  • Gerenciar operações de dados grandes (varchar(max), nvarchar(max)e varbinary(max)

  • Usar a lógica de reconexão para facilitar o failover quando o espelhamento de banco de dados estiver configurado

  • Dados de desempenho de log e consultas de execução prolongada

Para fazer chamadas de função ODBC, um aplicativo C ou C++ deve incluir os arquivos de cabeçalho sql.h, sqlext.h e sqltypes.h. Para fazer chamadas para as funções de API do instalador ODBC, um aplicativo deve incluir o arquivo de cabeçalho odbcinst.h. Um aplicativo ODBC Unicode deve incluir o arquivo de cabeçalho sqlucode.h. Os aplicativos ODBC devem ser vinculados ao arquivo odbc32.lib. Os aplicativos ODBC que chamam as funções de API do instalador ODBC devem ser vinculados ao arquivo odbccp32.lib. Esses arquivos são incluídos no SDK da Plataforma Windows.

Muitos drivers ODBC, incluindo o driver ODBC do SQL Server Native Client, oferecem extensões ODBC específicas do driver. Para aproveitar as extensões específicas do driver ODBC do SQL Server Native Client, um aplicativo deve incluir o arquivo de cabeçalho sqlncli.h. Este arquivo de cabeçalho contém:

  • Atributos de conexão específicos do driver ODBC do SQL Server Native Client.

  • Atributos de instrução específicos do driver ODBC do SQL Server Native Client.

  • Atributos de coluna específicos do driver ODBC do SQL Server Native Client.

  • Tipos de dados específicos do SQL Server.

  • Tipos de dados definidos pelo usuário específicos do SQL Server.

  • Tipos SQLGetInfo específicos do driver ODBC do SQL Server Native Client.

  • Campos de diagnóstico do driver ODBC do SQL Server Native Client.

  • Códigos de função dinâmica de diagnóstico específicos do SQL Server.

  • Definições de tipo C/C++ para tipos de dados C nativos específicos do SQL Server (retornados quando colunas associadas ao tipo de dados C SQL_C_BINARY).

  • Definição de tipo para a estrutura de dados SQLPERF.

  • Copie em massa macros e protótipos para dar suporte ao uso de API de cópia em massa por meio de uma conexão ODBC.

  • Chame as funções de API de metadados de consulta distribuída para listas de servidores vinculados e seus catálogos.

Qualquer aplicativo ODBC C ou C++ que use o recurso de cópia em massa do driver ODBC do SQL Server Native Client deve estar vinculado ao arquivo sqlncli11.lib. Os aplicativos que chamam as funções de API de metadados de consulta distribuída também devem ser vinculados ao sqlncli11.lib. Os arquivos sqlncli.h e sqlncli11.lib são distribuídos como parte das ferramentas do desenvolvedor do SQL Server. Os diretórios Incluir e Lib do SQL Server devem estar nos caminhos INCLUDE e LIB do compilador, como nos seguintes:

LIB=c:\Program Files\Microsoft Data Access SDK 2.8\Libs\x86\lib;C:\Program Files\Microsoft SQL Server\100\Tools\SDK\Lib;  
INCLUDE=c:\Program Files\Microsoft Data Access SDK 2.8\inc;C:\Program Files\Microsoft SQL Server\100\Tools\SDK\Include;  

Uma decisão de design tomada no início do processo de criação de um aplicativo é se o aplicativo precisa ter várias chamadas ODBC pendentes ao mesmo tempo. Há dois métodos para dar suporte a várias chamadas ODBC simultâneas, que são descritas nos tópicos restantes nesta seção. Para obter mais informações, consulte a Referência do Programador ODBC.

Nesta seção

Consulte Também

SQL Server Native Client (ODBC)