Verwenden der SQL Server Native Client-Header- und Bibliotheksdateien

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Wichtig

Der SQL Server Native Client (häufig abgekürzt mit SNAC) wurde aus SQL Server 2022 (16.x) und SQL Server Management Studio 19 (SSMS) entfernt. Der SQL Server Native Client (SQLNCLI oder SQLNCLI11) und der Microsoft OLE DB-Legacyanbieter für SQL Server (SQLOLEDB) werden für neue Anwendungsentwicklungen nicht empfohlen. Verwenden Sie in Zukunft den neuen Microsoft OLE DB-Treiber für SQL Server (MSOLEDBSQL) oder den neuesten Microsoft ODBC Driver for SQL Server. Informationen zu SQLNCLI, das als Komponente von SQL Server Datenbank-Engine (Versionen 2012 bis 2019) ausgeliefert wird, finden Sie in dieser Supportlebenszyklus-Ausnahme.

Die SQL Server Native Client Header- und Bibliotheksdateien werden mit SQL Server installiert. Es ist wichtig, beim Entwickeln von Anwendungen alle für die Entwicklung erforderlichen Dateien in die Entwicklungsumgebung zu kopieren. Weitere Informationen zum Installieren und Verteilen von SQL Server Native Client finden Sie unter Installieren SQL Server Native Client.

Die SQL Server Native Client Header- und Bibliotheksdateien werden am folgenden Speicherort installiert:

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

Die SQL Server Native Client-Headerdatei (sqlncli.h) kann verwendet werden, um Ihren benutzerdefinierten Anwendungen SQL Server Native Client Datenzugriffsfunktionen hinzuzufügen. Die SQL Server Native Client-Headerdatei enthält alle Definitionen, Attribute, Eigenschaften und Schnittstellen, die erforderlich sind, um die neuen Features zu nutzen, die in SQL Server 2005 (9.x) eingeführt wurden.

Zusätzlich zur SQL Server Native Client-Headerdatei gibt es auch eine Sqlncli11.lib-Bibliotheksdatei, die die Exportbibliothek für SQL Server Funktionalität des Massenkopierprogramms (Bulk Copy Program, BCP) für ODBC ist.

Die SQL Server Native Client-Headerdatei ist abwärtskompatibel mit den Headerdateien sqloledb.h und odbcss.h, die mit Microsoft Data Access Components (MDAC) verwendet werden, enthält jedoch keine CLSIDs für SQLOLEDB (der OLE DB-Anbieter für SQL Server im Lieferumfang von MDAC enthalten) oder Symbole für XML-Funktionalität (die von nicht unterstützt wird). SQL Server Native Client).

ODBC-Anwendungen können im selben Programm nicht auf den SQL Server Native Client-Header (sqlncli.h) und odbcss.h verweisen. Auch wenn Sie keines der in SQL Server 2005 (9.x) eingeführten Features verwenden, funktioniert die SQL Server Native Client-Headerdatei anstelle der älteren odbcss.h.

OLE DB-Anwendungen, die den SQL Server Native Client OLE DB-Anbieter verwenden, müssen nur auf sqlncli.h verweisen. Wenn eine Anwendung sowohl MDAC (SQLOLEDB) als auch den SQL Server Native Client OLE DB-Anbieter verwendet, kann sie sowohl auf sqloledb.h als auch auf sqlncli.h verweisen, aber der Verweis auf sqloledb.h muss zuerst erfolgen.

Verwenden der SQL Server Native Client-Headerdatei

Um die SQL Server Native Client-Headerdatei verwenden zu können, müssen Sie eine include-Anweisung in Ihrem C/C++-Programmiercode verwenden. In den folgenden Abschnitten wird beschrieben, wie Sie dies sowohl für OLE DB- als auch für ODBC-Anwendungen durchführen können.

Hinweis

Die SQL Server Native Client Header- und Bibliotheksdateien können nur mit Visual Studio C++ 2002 oder höher kompiliert werden.

OLE DB

So verwenden Sie die SQL Server Native Client-Headerdatei in einer OLE DB-Anwendung mithilfe der folgenden Programmiercodezeilen:

#define _SQLNCLI_OLEDB_  
include "sqlncli.h";  

Hinweis

Die erste der oben stehenden Codezeilen sollte weggelassen werden, wenn sowohl die OLE DB- als auch die ODBC-API von der Anwendung verwendet werden. Wenn die Anwendung über eine include-Anweisung für sqloledb.h verfügt, muss die include-Anweisung für sqlncli.h nach ihr kommen.

Wenn Sie eine Verbindung mit einer Datenquelle über SQL Server Native Client herstellen, verwenden Sie "SQLNCLI11" als Anbieternamenzeichenfolge.

ODBC

So verwenden Sie die SQL Server Native Client-Headerdatei in einer ODBC-Anwendung mithilfe der folgenden Programmiercodezeilen:

#define _SQLNCLI_ODBC_  
include "sqlncli.h";  

Hinweis

Die oben gezeigte erste Codezeile sollte weggelassen werden, wenn sowohl OLE DB- als auch ODBC-APIs von der Anwendung verwendet werden. Wenn die Anwendung über eine #include-Anweisung für odbcss.h verfügt, sollte diese entfernt werden.

Wenn Sie eine Verbindung mit einer Datenquelle über SQL Server Native Client herstellen, verwenden Sie "SQL Server Native Client 11.0" als Treibernamenzeichenfolge.

Komponentennamen und Eigenschaften nach Version

Eigenschaft 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
ODBC-Treibername SQL Native Client SQL Server Native Client 10.0 SQL Server Native Client 11.0 SQL Server
ODBC-Headerdateiname Sqlncli.h Sqlncli.h Sqlncli.h Odbcss.h
ODBC-Treiber-DLL Sqlncli.dll Sqlncl10.dll Sqlncl11.dll sqlsrv32.dll
ODBC-Bibliotheksdatei für BCP-APIs Sqlncli.lib Sqlncli10.lib Sqlncli11.lib Odbcbcp.lib
ODBC-DLL für BCP-APIs Sqlncli.dll Sqlncli10.dll Sqlncli11.dll Odbcbcp.dll
OLE DB PROGID SQLNCLI SQLNCLI10 SQLNCLI11 SQLOLEDB
OLE DB-Headerdateiname Sqlncli.h Sqlncli.h Sqlncli.h Sqloledb.h
OLE DB-Anbieter-DLL Sqlncli.dll Sqlncli10.dll Sqlncli11.dll Sqloledb.dll

sqlncli.h unterstützt mehrere Versionen von SQL Server Native Client über das SQLNCLI_VER-Makro. Standardmäßig wird SQLNCLI_VER auf die neueste Version von SQL Server Native Client festgelegt. Um eine Anwendung zu erstellen, die sqlncli10.dll anstatt sqlncli11.dll verwendet, legen Sie SQLNCLI_VER auf 10 fest.

Statische Verknüpfung und BCP-Funktionen

Wenn eine Anwendung BCP-Funktionen verwendet, muss in der Verbindungszeichenfolge der Treiber mit derselben Version angegeben werden, die mit der für die Anwendungskompilierung verwendeten Headerdatei und Bibliothek ausgeliefert wurde.

Wenn Sie beispielsweise eine Anwendung mit SQL Server Native Client und der zugeordneten Bibliotheksdatei (sqlncli11.lib) und der Headerdatei (sqlncli.h) aus \Programme\Microsoft SQL Server\110\SDK kompilieren, müssen Sie (unter Verwendung von ODBC als Beispiel) "DRIVER={SQL Server Native Client 11.0}" in der Verbindungszeichenfolge angeben.

Weitere Informationen finden Sie unter Durchführen von Massenkopiervorgängen.

Weitere Informationen

Erstellen von Anwendungen mit SQL Server Native Client