Usando os arquivos de biblioteca e de cabeçalho do SQL Server Native Client
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.
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, 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
dentro do 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 2014 |
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.