Usando os arquivos de biblioteca e de cabeçalho do SQL Server Native Client
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 Microsoft OLE DB Provider for SQL Server (SQLOLEDB) herdados não são recomendados para o desenvolvimento de novos aplicativos.
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.
Os arquivos de cabeçalho e biblioteca do SQL Server Native Client são instalados com o 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 o SQL Server Native Client, consulte Instalando o SQL Server Native Client.
Os arquivos de cabeçalho e biblioteca do SQL Server Native Client são instalados no seguinte local:
%ARQUIVOS DE PROGRAMAS%\Microsoft SQL Server\110\SDK
O arquivo de cabeçalho do SQL Server Native Client (sqlncli.h) pode ser usado para adicionar a funcionalidade de acesso a dados do SQL Server Native Client aos seus aplicativos personalizados. O arquivo de cabeçalho do 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 do SQL Server Native Client, há também um arquivo de biblioteca sqlncli11.lib que é a biblioteca de exportação para a funcionalidade BCP (Programa de Cópia em Massa) do SQL Server para ODBC.
O arquivo de cabeçalho SQL Server Native Client é compatível com versões anteriores dos arquivos de cabeçalho sqloledb.h e odbcss.h usados com o Microsoft Data Access Components (MDAC), mas não contém CLSIDs para SQLOLEDB (o provedor OLE DB para SQL Server incluído no MDAC) ou símbolos para a funcionalidade XML (que não é compatível com o SQL Server Native Client).
Os aplicativos ODBC não podem fazer referência ao 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 do SQL Server Native Client funcionará no lugar do odbcss.h mais antigo.
Os aplicativos OLE DB que usam o provedor OLE DB do SQL Server Native Client só precisam fazer referência a sqlncli.h. Se um aplicativo usar o MDAC (SQLOLEDB) e o provedor OLE DB do SQL Server Native Client, ele poderá fazer referência a sqloledb.h e sqlncli.h, mas a referência a sqloledb.h deverá 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 em seu 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 do 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 do SQL Server Native Client, use "SQLNCLI11" como a cadeia de caracteres de nome do provedor.
ODBC
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 do 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 do SQL Server Native Client por meio da macro SQLNCLI_VER. Por padrão, SQLNCLI_VER padrão para 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 o 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, certifique-se de especificar (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.