Usando os arquivos de biblioteca e de cabeçalho do SQL Server Native Client

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.

Os arquivos de cabeçalho e biblioteca SQL Server Native Client são instalados com SQL Server. Quando você for desenvolver um aplicativo, é importante copiar e instalar todos os arquivos necessários para o desenvolvimento no seu ambiente de desenvolvimento. Para obter mais informações sobre como instalar e redistribuir SQL Server Native Client, consulte Instalando SQL Server Native Client.

Os arquivos de cabeçalho e biblioteca SQL Server Native Client são instalados no seguinte local:

%PROGRAM FILES%\Microsoft SQL Server\110\SDK

O arquivo de cabeçalho SQL Server Native Client (sqlncli.h) pode ser usado para adicionar SQL Server Native Client funcionalidade de acesso a dados aos seus aplicativos personalizados. O arquivo de cabeçalho SQL Server Native Client contém todas as definições, atributos, propriedades e interfaces necessárias para aproveitar os novos recursos introduzidos no SQL Server 2005 (9.x).

Além do arquivo de cabeçalho SQL Server Native Client, também há um arquivo de biblioteca sqlncli11.lib que é a biblioteca de exportação para SQL Server funcionalidade bcp (programa de cópia em massa) para ODBC.

O arquivo de cabeçalho SQL Server Native Client é compatível com versões anteriores com os arquivos de cabeçalho sqloledb.h e odbcss.h usados com o MDAC (Microsoft Data Access Components), mas não contém CLSIDs para SQLOLEDB (o provedor OLE DB para SQL Server incluídos no MDAC) ou símbolos para a funcionalidade XML (que não tem suporte do SQL Server Native Client).

Os aplicativos ODBC não podem referenciar o cabeçalho SQL Server Native Client (sqlncli.h) e odbcss.h no mesmo programa. Mesmo que você não esteja usando nenhum dos recursos introduzidos no SQL Server 2005 (9.x), o arquivo de cabeçalho SQL Server Native Client funcionará no lugar do odbcss.h mais antigo.

Os aplicativos OLE DB que usam o provedor OLE DB SQL Server Native Client só precisam referenciar sqlncli.h. Se um aplicativo usa o MDAC (SQLOLEDB) e o provedor OLE DB do SQL Server Native Client, ele pode referenciar sqloledb.h e sqlncli.h, mas a referência a sqloledb.h deve vir primeiro.

Usando o arquivo de cabeçalho do SQL Server Native Client

Para usar o arquivo de cabeçalho SQL Server Native Client, você deve usar uma instrução include no código de programação C/C++. As seções a seguir descrevem como fazer isto para aplicativos OLE DB e ODBC.

Observação

Os arquivos de cabeçalho e biblioteca SQL Server Native Client só podem ser compilados usando o Visual Studio C++ 2002 ou posterior.

OLE DB

Para usar o arquivo de cabeçalho SQL Server Native Client em um aplicativo OLE DB, usando as seguintes linhas de código de programação:

#define _SQLNCLI_OLEDB_  
include "sqlncli.h";  

Observação

A primeira linha de código mostrada acima deverá ser omitida se as duas APIs OLE DB e ODBC forem usadas pelo aplicativo. Além disso, se o aplicativo tiver uma instrução include para sqloledb.h, a instrução include para sqlncli.h deverá vir depois dela.

Ao criar uma conexão com uma fonte de dados por meio de SQL Server Native Client, use "SQLNCLI11" como a cadeia de caracteres de nome do provedor.

ODBCODBC

Para usar o arquivo de cabeçalho SQL Server Native Client em um aplicativo ODBC, usando as seguintes linhas de código de programação:

#define _SQLNCLI_ODBC_  
include "sqlncli.h";  

Observação

A primeira linha de código mostrada acima deverá ser omitida se as APIs OLE DB e ODBC forem usadas pelo aplicativo. Além disso, se o aplicativo tiver uma instrução #include para odbcss.h, ela deve ser removida.

Ao criar uma conexão com uma fonte de dados por meio de SQL Server Native Client, use "SQL Server Native Client 11.0" como a cadeia de caracteres de nome do driver.

Propriedades e nomes de componentes por versão

Propriedade SQL Server Native Client

SQL Server 2005
SQL Server Native Client 10.0

SQL Server 2008
SQL Server Native Client 11.0

SQL Server 2012 (11.x)
MDAC
Nome do driver ODBC SQL Native Client SQL Server Native Client 10.0 SQL Server Native Client 11.0 SQL Server
Nome do arquivo de cabeçalho ODBC Sqlncli.h Sqlncli.h Sqlncli.h Odbcss.h
DLL do driver ODBC Sqlncli.dll Sqlncl10.dll Sqlncl11.dll sqlsrv32.dll
Arquivo de biblioteca ODBC para APIs BCP Sqlncli.lib Sqlncli10.lib Sqlncli11.lib Odbcbcp.lib
DLL ODBC para APIs BCP Sqlncli.dll Sqlncli10.dll Sqlncli11.dll Odbcbcp.dll
OLE DB PROGID SQLNCLI SQLNCLI10 SQLNCLI11 SQLOLEDB
Nome do arquivo de cabeçalho OLE DB Sqlncli.h Sqlncli.h Sqlncli.h Sqloledb.h
DLL do provedor OLE DB Sqlncli.dll Sqlncli10.dll Sqlncli11.dll Sqloledb.dll

sqlncli.h dá suporte a várias versões de SQL Server Native Client por meio da macro SQLNCLI_VER. Por padrão, SQLNCLI_VER usa como padrão a versão mais recente do SQL Server Native Client. Para criar um aplicativo que usa sqlncli10.dll em vez de sqlncli11.dll, defina SQLNCLI_VER como 10.

Vinculação estática e funções BCP

Quando um aplicativo usa funções BCP, é importante que ele especifique na cadeia de conexão o driver da mesma versão que a fornecida com o arquivo de cabeçalho e a biblioteca usada para compilar o aplicativo.

Por exemplo, se você compilar um aplicativo usando SQL Server Native Client e o arquivo de biblioteca associado (sqlncli11.lib) e o arquivo de cabeçalho (sqlncli.h) de \Arquivos de Programas\Microsoft SQL Server\110\SDK, especifique (usando ODBC como exemplo) "DRIVER={SQL Server Native Client 11.0}" na cadeia de conexão.

Para obter mais informações, confira Como realizar operações de cópia em massa.

Consulte Também

Criando aplicativos com o SQL Server Native Client