Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Base de Dados SQL do Azure
Instância Gerida do Azure SQL
Azure Synapse Analytics
Importante
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) herdado não são recomendados para o desenvolvimento de novos aplicativos.
Para novos projetos, use um dos seguintes drivers:
Para o SQLNCLI fornecido como componente do Mecanismo de Base de Dados do SQL Server (versões de 2012 a 2019), consulte esta exceção ao Ciclo de Vida de Suporte .
O cabeçalho e os ficheiros da biblioteca do SQL Server Native Client são instalados com o SQL Server. Ao desenvolver uma aplicação, é importante copiar e instalar todos os ficheiros necessários para o desenvolvimento no seu ambiente de desenvolvimento. Para mais informações sobre a instalação e redistribuição do SQL Server Native Client, consulte Instalação do SQL Server Native Client.
O cabeçalho do SQL Server Native Client e os ficheiros da biblioteca são instalados na seguinte localização:
%PROGRAM FICHEIROS%\Microsoft SQL Server\110\SDK
O ficheiro cabeçalho SQL Server Native Client (sqlncli.h) pode ser usado para adicionar funcionalidade de acesso a dados do SQL Server Native Client às suas aplicações personalizadas. O ficheiro cabeçalho SQL Server Native Client contém todas as definições, atributos, propriedades e interfaces necessários para tirar partido das novas funcionalidades introduzidas no SQL Server 2005 (9.x).
Para além do ficheiro cabeçalho SQL Server Native Client, existe também um ficheiro de biblioteca sqlncli11.lib, que serve de biblioteca de exportação para a funcionalidade SQL Server Bulk Copy Program (BCP) para ODBC.
O ficheiro de cabeçalho SQL Server Native Client é compatível retroativamente com os ficheiros de cabeçalho sqloledb.h e odbcss.h usados com os Microsoft Data Access Components (MDAC), mas não contém CLSIDs para SQLOLEDB (o fornecedor OLE DB para SQL Server incluído com MDAC) nem símbolos para funcionalidades XML (que não são suportadas pelo SQL Server Native Client).
As aplicações ODBC não podem referenciar o cabeçalho Native Client do SQL Server (sqlncli.h) e odbcss.h no mesmo programa. Mesmo que não esteja a usar nenhuma das funcionalidades introduzidas no SQL Server 2005 (9.x), o ficheiro de cabeçalho Native Client do SQL Server funcionará em vez do antigo odbcss.h.
As aplicações OLE DB que utilizam o fornecedor OLE DB do SQL Server Native Client só precisam de referenciar sqlncli.h. Se uma aplicação usar tanto MDAC (SQLOLEDB) como o fornecedor SQL Server Native Client OLE DB, pode referenciar tanto sqloledb.h como sqlncli.h, mas a referência a sqloledb.h deve vir primeiro.
Utilização do ficheiro nativo de cabeçalho do cliente SQL Server
Para usar o ficheiro de cabeçalho Native Client do SQL Server, deve usar uma instrução include dentro do seu código de programação em C/C++. As secções seguintes descrevem como fazer isto tanto para aplicações OLE DB como ODBC.
Note
O cabeçalho e os ficheiros de biblioteca do SQL Server Native Client só podem ser compilados usando o Visual Studio C++ 2002 ou posterior.
OLE DB
Para usar o ficheiro de cabeçalho SQL Server Native Client numa aplicação OLE DB, usando as seguintes linhas de código de programação:
#define _SQLNCLI_OLEDB_
include "sqlncli.h";
Note
A primeira linha de código mostrada acima deve ser omitida se tanto as APIs OLE DB como ODBC forem usadas pela aplicação. Além disso, se a aplicação tiver uma instrução include para sqloledb.h, a instrução include para sqlncli.h deve vir a seguir.
Ao criar uma ligação a uma fonte de dados através SQL Server Cliente Nativo, use "SQLNCLI11" como cadeia de nomes do fornecedor.
ODBC
Para usar o ficheiro de cabeçalho Native Client do SQL Server numa aplicação ODBC, utilizando as seguintes linhas de código de programação:
#define _SQLNCLI_ODBC_
include "sqlncli.h";
Note
A primeira linha de código mostrada acima deve ser omitida se a aplicação utilizar tanto as APIs OLE DB como ODBC. Além disso, se a aplicação tiver uma #include declaração para odbcss.h, esta deve ser removida.
Ao criar uma ligação a uma fonte de dados através do SQL Server Native Client, use "SQL Server Native Client 11.0" como cadeia de nomes do driver.
Nomes e Propriedades dos Componentes por Versão
| Property | SQL Server Cliente Nativo SQL Server 2005 |
SQL Server Cliente Nativo 10.0 SQL Server 2008 |
SQL Server Cliente Nativo 11.0 SQL Server 2012 (11.x) |
MDAC |
|---|---|---|---|---|
| Nome do driver ODBC | SQL Native Client | SQL Server Cliente Nativo 10.0 | SQL Server Cliente Nativo 11.0 | SQL Server |
| Nome do ficheiro de cabeçalho ODBC | Sqlncli.h | Sqlncli.h | Sqlncli.h | Odbcss.h |
| ODBC driver DLL | Sqlncli.dll | Sqlncl10.dll | Sqlncl11.dll | sqlsrv32.dll |
| Ficheiro lib 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 ficheiro do cabeçalho OLE DB | Sqlncli.h | Sqlncli.h | Sqlncli.h | Sqloledb.h |
| DLL do fornecedor OLE DB | Sqlncli.dll | Sqlncli10.dll | Sqlncli11.dll | Sqloledb.dll |
sqlncli.h suporta múltiplas versões do SQL Server Native Client através da macro SQLNCLI_VER. Por defeito, SQLNCLI_VER utiliza por defeito a versão mais recente do SQL Server Cliente Nativo. Para construir uma aplicação que use sqlncli10.dll em vez de sqlncli11.dll, defina SQLNCLI_VER para 10.
Ligação estática e funções BCP
Quando uma aplicação utiliza funções BCP, é importante que especifique na cadeia de ligação o driver da mesma versão que veio com o ficheiro de cabeçalho e a biblioteca usados para compilar a aplicação.
Por exemplo, se compilar uma aplicação usando o SQL Server Native Client, e o ficheiro de biblioteca associado (sqlncli11.lib) e o ficheiro de cabeçalho (sqlncli.h) de \Program Files\Microsoft SQL Server\110\SDK, certifique-se de especificar (usando o ODBC como exemplo) "DRIVER={SQL Server Native Client 11.0}" no cadeia de ligação.
Para mais informações, consulte Realização de Operações de Cópia em Massa.