Criar um aplicativo da driver
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics Analytics Platform System (PDW)
Importante
O SQL Server Native Client (SNAC) não é fornecido com:
- SQL Server 2022 (16.x) e versões posteriores
- SQL Server Management Studio 19 e versões posteriores
O SQL Server Native Client (SQLNCLI ou SQLNCLI11) e o provedor OLE DB para SQL Server (SQLOLEDB) da Microsoft herdado não são recomendados para desenvolver um novo aplicativo.
Para novos projetos, use um dos seguintes drivers:
Para SQLNCLI que é fornecido como um componente do Mecanismo de Banco de Dados do SQL Server (versões 2012 a 2019), confira 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 do 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 do 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 (colunas 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 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. Esse 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 as colunas são 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 ser 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.