Verwenden der SQL Server Native Client-Header- und Bibliotheksdateien

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 über die Installation und Weiterverteilung 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:

%PROGRAMME%\Microsoft SQL Server\100\SDK

Die SQL Server Native Client-Headerdatei (sqlncli.h) wird verwendet, um Ihren benutzerdefinierten Anwendungen SQL Server Native Client-Datenzugriffsfunktionalitäten hinzuzufügen. Die SQL Server Native Client-Headerdatei enthält alle Definitionen, Attribute, Eigenschaften und Schnittstellen, die Sie mit den neuen, in SQL Server 2005 eingeführten Funktionen nutzen können.

Zusätzlich zu der SQL Server Native Client-Headerdatei steht die Bibliotheksdatei sqlncli10.lib zur Verfügung. Dabei handelt es sich um die Exportbibliothek für die Massenkopierfunktionalität (SQL Server Bulk Copy Program (BCP)) für ODBC.

Die SQL Server Native Client-Headerdatei ist abwärtskompatibel mit den mit Microsoft Data Access Components (MDAC) verwendeten Headerdateien sqloledb.h und odbcss.h, enthält aber weder die CLSIDs für SQLOLEDB (den in MDAC enthaltenen OLE DB-Anbieter für SQL Server) noch die Symbole für die XML-Funktionalität. Letztere wird nicht von SQL Server Native Client unterstützt.

ODBC-Anwendungen können nicht im selben Programm auf den SQL Server Native Client-Header (sqlncli.h) und odbcss.h verweisen. Auch wenn Sie keines der neuen, in SQL Server 2005 eingeführten Funktionen verwenden, ist die Verwendung der SQL Server Native Client-Headerdatei anstelle der älteren odbcss.h-Datei möglich.

OLE DB-Anwendungen, die den SQL Server Native Client OLE DB-Anbieter verwenden, brauchen nur auf sqlncli.h zu verweisen. Wenn eine Anwendung MDAC (SQLOLEDB) und den SQL Server Native Client OLE DB-Anbieter verwendet, kann sowohl auf sqloledb.h als auch auf sqlncli.h verwiesen werden, unter der Voraussetzung, dass sqloledb.h zuerst angegeben wird.

Verwenden der SQL Server Native Client-Headerdatei

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

HinweisHinweis

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

OLE DB

Zum Verwenden der SQL Server Native Client-Headerdatei in einer OLE DB-Anwendung geben Sie den folgenden Programmiercode ein:

#define _SQLNCLI_OLEDB_
include "sqlncli.h";
HinweisHinweis

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 außerdem eine include-Anweisung für sqloledb.h aufweist, sollte die include-Anweisung für sqlncli.h nach der Anweisung für sqloledb.h stehen.

Verwenden Sie für das Erstellen einer Verbindung mit einer Datenquelle über SQL Server Native Client die Zeichenfolge "SQLNCLI10" als Anbietername.

ODBC

Zum Verwenden der SQL Server Native Client-Headerdatei in einer ODBC-Anwendung geben Sie den folgenden Programmiercode ein:

#define _SQLNCLI_ODBC_
include "sqlncli.h";
HinweisHinweis

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 odbcss.h verfügt, sollte diese entfernt werden.

Verwenden Sie für das Erstellen einer Verbindung mit einer Datenquelle über SQL Server Native Client die Zeichenfolge "SQL Server Native Client 10.0" als Treibernamen.

Komponentennamen und Eigenschaften nach Version

Eigenschaft

SQL Server Native Client

SQL Server 2005

SQL Server Native Client 10.5

SQL Server 2008 R2

MDAC

ODBC-Treibername

SQL Server Native Client

SQL Server Native Client 10.0

SQL Server

ODBC-Headerdateiname

Sqlncli.h

Sqlncli.h

Odbcss.h

ODBC-Treiber-DLL

Sqlncli.dll

Sqlncl10.dll

sqlsrv32.dll

ODBC-Bibliotheksdatei für BCP-APIs

Sqlncli.lib

Sqlncli10.lib

Odbcbcp.lib

ODBC-DLL für BCP-APIs

Sqlncli.dll

Sqlncli10.dll

Odbcbcp.dll

OLE DB PROGID

SQLNCLI

SQLNCLI10

SQLOLEDB

OLE DB-Headerdateiname

Sqlncli.h

Sqlncli.h

Sqloledb.h

OLE DB-Anbieter-DLL

Sqlncli.dll

Sqlncli10.dll

Sqloledb.dll

Die Datei sqlncli.h unterstützt mehrere Versionen von SQL Server Native Client über das Makro SQLNCLI_VER. Standardmäßig legt SQLNCLI_VER die neueste Version von SQL Server Native Client fest. Um eine Anwendung zu erstellen, die sqlncli.dll anstatt sqlncli10.dll verwendet, legen Sie SQLNCLI_VER auf 90 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 2008 Native Client und der zugeordneten Bibliotheksdatei (sqlncli10.lib) und Headerdatei (sqlncli.h) aus \Programme\Microsoft SQL Server\100\SDK kompilieren, sollten Sie (als Beispiel wird ODBC verwendet) in der Verbindungszeichenfolge unbedingt "DRIVER={SQL Server Native Client 10.0}" angeben.

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