Criar um aplicativo da driver

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPDW (Analytics Platform System)

Importante

O SQL Server Native Client (geralmente abreviado como SNAC) foi removido do SQL Server 2022 (16.x) e do SSMS (SQL Server Management Studio) 19. O SQL Server Native Client (SQLNCLI ou SQLNCLI11) e o Provedor OLE DB herdado da Microsoft para o SQL Server (SQLOLEDB) não são recomendados para um novo desenvolvimento de aplicativo. Alterne para o novo Driver do Microsoft OLE DB para SQL Server (MSOLEDBSQL) ou o Microsoft ODBC Driver for SQL Server mais recente no futuro. Para SQLNCLI que é fornecido como um componente do Mecanismo de Banco de Dados do SQL Server (versões 2012 a 2019), consulte esta exceção de Ciclo de Vida de Suporte.

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

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

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

  • Conecta-se com 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

  • Finaliza a conexão com a fonte de dados

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

  • Usar cursores para controlar o local em um conjunto de resultados

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

  • Executar transações distribuídas que envolvem 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 lógica de reconexão para facilitar o failover quando o espelhamento de banco de dados é configurado

  • Registrar dados de desempenho e consultas de execução demorada

Para fazer chamadas de função ODBC, um aplicativo C ou C++ deve incluir os arquivos de cabeçalhos sql.h, sqlext.h e sqltypes.h. Para fazer chamadas às 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 SQL Server Native Client, oferecem extensões ODBC específicas do driver. Para aproveitar SQL Server Native Client extensões específicas do driver ODBC, um aplicativo deve incluir o arquivo de cabeçalho sqlncli.h. Esse arquivo de cabeçalho contém:

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

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

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

  • SQL Server tipos de dados específicos.

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

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

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

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

  • 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 de SQLPERF.

  • Macros e protótipos de cópia em massa para oferecer suporte ao uso de APIs de cópia em massa através 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. 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 Include e Lib do SQL Server devem estar nos caminhos INCLUDE e LIB do compilador, como no seguinte:

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 que deve ser tomada no início do processo de criação de um aplicativo é se ele precisa ter várias chamadas ODBC pendentes ao mesmo tempo. Há dois métodos de suporte a várias chamadas ODBC simultâneas, que são descritos nos próximos tópicos desta 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)