Utilisation des fichiers bibliothèques et de l'en-tête SQL Server Native Client

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Important

SQL Server Native Client (souvent abrégé en SNAC) a été supprimé dans SQL Server 2022 (16.x) et SQL Server Management Studio 19 (SSMS). SQL Server Native Client (SQLNCLI ou SQLNCLI11) et le fournisseur Microsoft OLE DB pour SQL Server (SQLOLEDB) hérité ne sont pas recommandés dans les nouveaux développements. Utilisez à la place le nouveau Microsoft OLE DB Driver (MSOLEDBSQL) pour SQL Server ou le Microsoft ODBC Driver for SQL Server le plus récent. Pour SQLNCLI fourni en tant que composant du moteur de base de données SQL Server (versions 2012 à 2019), consultez cette exception de cycle de vie de support.

Les fichiers d’en-tête et de bibliothèque SQL Server Native Client sont installés avec SQL Server. Lors du développement d'une application, il importe de copier et d'installer tous les fichiers requis pour le développement sur votre environnement de développement. Pour plus d’informations sur l’installation et la redistribution des SQL Server Native Client, consultez Installation de SQL Server Native Client.

Les fichiers d’en-tête et de bibliothèque SQL Server Native Client sont installés à l’emplacement suivant :

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

Le fichier d’en-tête SQL Server Native Client (sqlncli.h) peut être utilisé pour ajouter SQL Server Native Client fonctionnalité d’accès aux données à vos applications personnalisées. Le fichier d’en-tête SQL Server Native Client contient toutes les définitions, attributs, propriétés et interfaces nécessaires pour tirer parti des nouvelles fonctionnalités introduites dans SQL Server 2005 (9.x).

Outre le fichier d’en-tête SQL Server Native Client, il existe également un fichier de bibliothèque sqlncli11.lib qui est la bibliothèque d’exportation pour SQL Server fonctionnalité BCP (Bulk Copy Program) pour ODBC.

Le fichier d’en-tête SQL Server Native Client est rétrocompatible avec les fichiers d’en-tête sqloledb.h et odbcss.h utilisés avec Microsoft Data Access Components (MDAC), mais ne contient pas de CLSID pour SQLOLEDB (le fournisseur OLE DB pour SQL Server inclus avec MDAC) ou de symboles pour les fonctionnalités XML (qui n’est pas prise en charge par SQL Server Native Client).

Les applications ODBC ne peuvent pas référencer l’en-tête SQL Server Native Client (sqlncli.h) et odbcss.h dans le même programme. Même si vous n’utilisez aucune des fonctionnalités introduites dans SQL Server 2005 (9.x), le fichier d’en-tête SQL Server Native Client fonctionnera à la place de l’ancien odbcss.h.

Les applications OLE DB qui utilisent le fournisseur OLE DB SQL Server Native Client doivent uniquement référencer sqlncli.h. Si une application utilise À la fois MDAC (SQLOLEDB) et le fournisseur OLE DB SQL Server Native Client, elle peut référencer sqloledb.h et sqlncli.h, mais la référence à sqloledb.h doit commencer.

Utilisation du fichier d'en-tête SQL Server Native Client

Pour utiliser le fichier d’en-tête SQL Server Native Client, vous devez utiliser une instruction include dans votre code de programmation C/C++. Les sections suivantes décrivent comment y parvenir pour les applications OLE DB et ODBC.

Notes

Les fichiers d’en-tête et de bibliothèque SQL Server Native Client peuvent uniquement être compilés à l’aide de Visual Studio C++ 2002 ou version ultérieure.

OLE DB

Pour utiliser le fichier d’en-tête SQL Server Native Client dans une application OLE DB, utilisez les lignes de code de programmation suivantes :

#define _SQLNCLI_OLEDB_  
include "sqlncli.h";  

Notes

La première ligne de code ci-dessus doit être omise si les API OLE DB et ODBC sont utilisées par l'application. En outre, si l’application a une instruction include pour sqloledb.h, l’instruction include pour sqlncli.h doit venir après.

Lors de la création d’une connexion à une source de données via SQL Server Native Client, utilisez « SQLNCLI11 » comme chaîne de nom de fournisseur.

ODBC

Pour utiliser le fichier d’en-tête SQL Server Native Client dans une application ODBC, en utilisant les lignes de code de programmation suivantes :

#define _SQLNCLI_ODBC_  
include "sqlncli.h";  

Remarque

La première ligne de code indiquée ci-dessus doit être omise si les API OLE DB et ODBC sont utilisées par l’application. De plus, si l'application possède une instruction #include pour odbcss.h, elle doit être supprimée.

Lorsque vous créez une connexion à une source de données via SQL Server Native Client, utilisez « SQL Server Native Client 11.0 » comme chaîne de nom de pilote.

Noms des composants et propriétés par version

Propriété 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
Nom du pilote ODBC SQL Native Client SQL Server Native Client 10.0 SQL Server Native Client 11.0 SQL Server
Nom du fichier d’en-tête ODBC Sqlncli.h Sqlncli.h Sqlncli.h Odbcss.h
DLL du pilote ODBC Sqlncli.dll Sqlncl10.dll Sqlncl11.dll sqlsrv32.dll
Fichier bibliothèque ODBC pour les API BCP Sqlncli.lib Sqlncli10.lib Sqlncli11.lib Odbcbcp.lib
DLL ODBC pour les API BCP Sqlncli.dll Sqlncli10.dll Sqlncli11.dll Odbcbcp.dll
PROGID pour OLE DB SQLNCLI SQLNCLI10 SQLNCLI11 SQLOLEDB
Nom du fichier d'en-tête OLE DB Sqlncli.h Sqlncli.h Sqlncli.h Sqloledb.h
DLL du fournisseur OLE DB Sqlncli.dll Sqlncli10.dll Sqlncli11.dll Sqloledb.dll

sqlncli.h prend en charge plusieurs versions de SQL Server Native Client via la macro SQLNCLI_VER. Par défaut, SQLNCLI_VER la dernière version de SQL Server Native Client. Pour générer une application qui utilise sqlncli10.dll plutôt que sqlncli11.dll, définissez SQLNCLI_VER avec la valeur 10.

Liaison statique et fonctions BCP

Lorsqu'une application utilise des fonctions BCP, il est important pour l'application de spécifier dans la chaîne de connexion le pilote de la même version fourni avec le fichier d'en-tête et la bibliothèque utilisés pour compiler l'application.

Par exemple, si vous compilez une application à l’aide de SQL Server Native Client et du fichier de bibliothèque associé (sqlncli11.lib) et du fichier d’en-tête (sqlncli.h) à partir de \Program Files\Microsoft SQL Server\110\SDK, veillez à spécifier (en utilisant ODBC comme exemple) « DRIVER={SQL Server Native Client 11.0} » dans la chaîne de connexion.

Pour plus d’informations, consultez Exécution d'opérations de copie en bloc.

Voir aussi

Génération d’applications avec SQL Server Native Client