Freigeben über


Verwenden der SQL Server Native Client-Header- und Bibliotheksdateien

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL verwaltete Instanz Azure Synapse Analytics Analytics Platform System (PDW)

Wichtig

SQL Server Native Client (SNAC) wird nicht ausgeliefert mit:

  • SQL Server 2022 (16.x) und höher
  • SQL Server Management Studio (19 und höher)

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.

Für neue Projekte verwenden Sie einen der folgenden Treiber:

Informationen zu SQLNCLI, das als Komponente der SQL Server Datenbank-Engine (Versionen 2012 bis 2019) ausgeliefert wird, finden Sie in dieser Ausnahme für den Supportlebenszyklus.

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 Erneutverteilen von SQL Server Native Client finden Sie unter Installieren von 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 zum Hinzufügen von SQL Server Native Client-Datenzugriffsfunktionen zu Ihren benutzerdefinierten Anwendungen verwendet werden. 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 die BCP-Funktionalität (Bulk Copy Program) für SQL Server 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, enthalten jedoch keine CLSIDs für SQLOLEDB (der OLE DB-Anbieter für SQL Server, der in MDAC enthalten ist) oder Symbole für XML-Funktionalität (die von SQL Server Native Client nicht unterstützt wird).

ODBC-Anwendungen können nicht auf den SQL Server Native Client-Header (sqlncli.h) und odbcss.h im selben Programm verweisen. Auch wenn Sie keine 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 OLE DB-Anbieter von SQL Server Native Client verwenden, müssen nur auf sqlncli.h verweisen. Wenn eine Anwendung sowohl MDAC (SQLOLEDB) als auch den OLE DB-Anbieter des SQL Server Native Client 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 zu verwenden, 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

Um die SQL Server Native Client-Headerdatei in einer OLE DB-Anwendung zu verwenden, verwenden Sie die 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 danach erfolgen.

Verwenden Sie beim Erstellen einer Verbindung mit einer Datenquelle über SQL Server Native Client "SQLNCLI11" als Anbieternamenzeichenfolge.

ODBC

Verwenden Sie zum Verwenden der SQL Server Native Client-Headerdatei in einer ODBC-Anwendung die folgenden Programmiercodezeilen:

#define _SQLNCLI_ODBC_  
include "sqlncli.h";  

Hinweis

Die erste oben gezeigte 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.

Verwenden Sie beim Erstellen einer Verbindung mit einer Datenquelle über SQL Server Native Client "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 standardmäßig 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 kompilieren und die zugeordnete Bibliotheksdatei (sqlncli11.lib) und Headerdatei (sqlncli.h) aus \Program Files\Microsoft SQL Server\110\SDK angeben, stellen Sie sicher, dass Sie im Verbindungszeichenfolge "DRIVER={SQL Server Native Client 11.0}" angeben (mit ODBC als Beispiel).

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

Weitere Informationen

Erstellen von Anwendungen mit SQL Server Native Client