Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Ważna
Klient natywny SQL Servera (SNAC) nie jest dostarczany z:
- SQL Server 2022 (16.x) i nowsze wersje
- SQL Server Management Studio 19 i nowsze wersje
Program SQL Server Native Client (SQLNCLI lub SQLNCLI11) oraz starszy dostawca microsoft OLE DB dla programu SQL Server (SQLOLEDB) nie są zalecane w przypadku tworzenia nowych aplikacji.
W przypadku nowych projektów użyj jednego z następujących sterowników:
- Sterownik ODBC firmy Microsoft dla programu SQL Server
- Sterownik OLE DB firmy Microsoft dla programu SQL Server
W przypadku programu SQLNCLI dostarczanego jako składnik aparatu bazy danych programu SQL Server (wersje 2012–2019), proszę sprawdzić wyjątek cyklu wsparcia .
Nagłówek i pliki biblioteki klienta natywnego SQL Server są instalowane w SQL Server. Podczas tworzenia aplikacji ważne jest, aby skopiować i zainstalować wszystkie wymagane pliki do rozwoju w swoim środowisku programistycznym. Aby uzyskać więcej informacji o instalacji i redystrybucji natywnego klienta SQL Server, zobacz Instalacja natywnego klienta SQL Server.
Nagłówek i pliki biblioteki klienta natywnego klienta SQL Server są zainstalowane w następującym miejscu:
%PROGRAM PLIKI%\Microsoft SQL Server\110\SDK
Plik nagłówka natywnego klienta SQL Server (sqlncli.h) może być użyty do dodania funkcji dostępu do danych natywnego klienta SQL Server do własnych aplikacji. Plik nagłówka natywnego klienta SQL Server zawiera wszystkie definicje, atrybuty, właściwości i interfejsy potrzebne do wykorzystania nowych funkcji wprowadzonych w SQL Server 2005 (9.x).
Oprócz pliku nagłówka SQL Server Native Client, istnieje także plik biblioteki sqlncli11.lib, który służy do eksportu funkcjonalności SQL Server Bulk Copy Program (BCP) dla ODBC.
Plik nagłówka natywnego klienta SQL Server jest kompatybilny wstecznie zarówno z plikami nagłówka sqloledb.h, jak i odbcss.h używanymi w Microsoft Data Access Components (MDAC), ale nie zawiera CLSID dla SQLOLEDB (dostawcy OLE DB dla SQL Server dołączonego do MDAC) ani symboli dla funkcjonalności XML (które nie są obsługiwane przez SQL Server Native Client).
Aplikacje ODBC nie mogą odwoływać się do nagłówka natywnego klienta SQL Server (sqlncli.h) oraz odbcss.h w tym samym programie. Nawet jeśli nie korzystasz z żadnej z funkcji wprowadzonych w SQL Server 2005 (9.x), plik nagłówka natywnego klienta SQL Server zadziała zamiast starszego odbcss.h.
Aplikacje OLE DB korzystające z dostawcy SQL Server Native Client OLE DB muszą jedynie odwoływać się do sqlncli.h. Jeśli aplikacja korzysta zarówno z MDAC (SQLOLEDB), jak i dostawcy SQL Server Native Client OLE DB, może odwoływać się zarówno do sqloledb.h, jak i sqlncli.h, ale najpierw musi być odniesienie do sqloledb.h.
Używanie natywnego pliku nagłówka klienta SQL Server
Aby użyć pliku nagłówka natywnego klienta SQL Server, musisz użyć instrukcji include w swoim kodzie programistycznym C/C++. Poniższe sekcje opisują, jak to zrobić zarówno dla aplikacji OLE DB, jak i ODBC.
Uwaga / Notatka
Nagłówek i pliki biblioteki klienta natywnego SQL Server można kompilować tylko w Visual Studio C++ 2002 lub nowszym.
OLE DB
Aby użyć pliku nagłówka natywnego klienta SQL Server w aplikacji OLE DB, używając następujących linii kodu programistycznego:
#define _SQLNCLI_OLEDB_
include "sqlncli.h";
Uwaga / Notatka
Pierwsza linia kodu pokazana powyżej powinna być pomijana, jeśli aplikacja korzysta zarówno z API OLE DB, jak i ODBC. Dodatkowo, jeśli aplikacja ma infikację dla sqloledb.h, po niej musi pojawić się instrukcja include dla sqlncli.h.
Tworząc połączenie ze źródłem danych przez SQL Server Natywnego Klienta, użyj "SQLNCLI11" jako ciągu nazw dostawcy.
ODBC
Aby użyć pliku nagłówka natywnego klienta SQL Server w aplikacji ODBC, używając następujących linii kodu programistycznego:
#define _SQLNCLI_ODBC_
include "sqlncli.h";
Uwaga / Notatka
Pierwsza linijka kodu pokazana powyżej powinna zostać pominięta, jeśli aplikacja korzysta zarówno z API OLE DB, jak i ODBC. Dodatkowo, jeśli aplikacja zawiera oświadczenie #include dla odbcss.h, powinno ono zostać usunięte.
Podczas tworzenia połączenia ze źródłem danych za pośrednictwem SQL Server Native Client, użyj "SQL Server Native Client 11.0" jako ciągu nazwy sterownika.
Nazwy komponentów i właściwości według wersji
| Property | Klient natywny programu SQL Server SQL Server 2005 |
SQL Server Natywny Klient 10.0 SQL Server 2008 |
SQL Server Natywny Klient 11.0 SQL Server 2012 (11.x) |
MDAC |
|---|---|---|---|---|
| Nazwa kierowcy ODBC | Klient natywny SQL | SQL Server Natywny Klient 10.0 | SQL Server Natywny Klient 11.0 | SQL Server |
| Nazwa pliku nagłówka ODBC | Sqlncli.h | Sqlncli.h | Sqlncli.h | Odbcss.h |
| ODBC driver DLL | Sqlncli.dll | Sqlncl10.dll | Sqlncl11.dll | sqlsrv32.dll |
| Plik ODBC lib dla API BCP | biblioteka SQLCLI.lib | Sqlncli10.lib | Sqlncli11.lib | Odbcbcp.lib |
| ODBC DLL dla API BCP | Sqlncli.dll | Sqlncli10.dll | Sqlncli11.dll | Odbcbcp.dll |
| OLE DB PROGID | SQLNCLI | SQLNCLI10 | SQLNCLI11 | SQLOLEDB |
| Nazwa pliku nagłówka OLE DB | Sqlncli.h | Sqlncli.h | Sqlncli.h | Sqloledb.h |
| OLE DB provider DLL | Sqlncli.dll | Sqlncli10.dll | Sqlncli11.dll | Sqloledb.dll |
sqlncli.h obsługuje wiele wersji SQL Server Native Client poprzez makro SQLNCLI_VER. Domyślnie SQLNCLI_VER domyślnie przyjmuje najnowszą wersję SQL Server Native Client. Aby zbudować aplikację korzystającą z sqlncli10.dll zamiast sqlncli11.dll, ustaw SQLNCLI_VER na 10.
Statyczne łączenie i funkcje BCP
Gdy aplikacja korzysta z funkcji BCP, ważne jest, aby w parametry połączenia określić sterownik z tej samej wersji, która została dostarczona wraz z plikiem nagłówka i biblioteką użytą do kompilacji aplikacji.
Na przykład, jeśli skompilujesz aplikację za pomocą SQL Server Native Client, a powiązany plik biblioteczny (sqlncli11.lib) i plik nagłówka (sqlncli.h) z pliku \Program Files\Microsoft SQL Server\110\SDK, upewnij się, że określisz (na przykładzie ODBC) "DRIVER={SQL Server Native Client 11.0}" w parametry połączenia.
Więcej informacji można znaleźć w artykule Wykonywanie operacji kopiowania masowego.