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
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für