Client natif SQL Server
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
SQL Server Native Client, également connu sous le nom de SNAC ou SQLNCLI, fait référence aux pilotes ODBC et OLE DB Driver pour SQL Server avant SQL Server 2022 (16.x).
Important
SQL Server Native Client (SNAC) n’est pas fourni avec :
- 2022 - SQL Server 16 (16.x) et versions ultérieures
- SQL Server Management Studio 19 et versions ultérieures
SQL Server Native Client (SQLNCLI ou SQLNCLI11) et le fournisseur OLE DB Microsoft hérité pour SQL Server (SQLOLEDB) ne sont pas recommandés pour le développement de nouvelles applications.
Pour les nouveaux projets, utilisez l'un des pilotes suivants :
Pour SQLNCLI qui est fourni en tant que composant du moteur de base de données SQL Server (versions 2012 à 2019), consultez cette exception du cycle de vie du support.
Remarque
Pour plus d'informations et pour télécharger les pilotes SNAC ou ODBC, voir l'article de blog sur le cycle de vie de SNAC expliqué. Pour plus d'informations sur le pilote ODBC pour SQL Server, voir Microsoft ODBC Driver for SQL Server.
Informations sur les fonctionnalités de SQL Server Native Client publiées avec SQL Server 2012 (11.x), la dernière version disponible de SQL Server Native Client :
- Prise en charge de SQL Server Native Client pour la base de données locale
- Détection des métadonnées
- Prise en charge de UTF-16 dans SQL Server Native Client 11.0
- Prise en charge des fonctionnalités de récupération d'urgence, haute disponibilité par SQL Server Native Client
- Accès aux informations de diagnostic dans le journal des événements étendus
ODBC in SQL Server Native Client prend en charge trois fonctionnalités qui ont été ajoutées à ODBC standard dans le SDK Windows 7 :
Exécution asynchrone sur les opérations relatives à une connexion. Pour plus d'informations, consultez Exécution asynchrone.
C. Extensibilité du type de données. Pour plus d'informations, voir Types de données C dans ODBC.
Pour prendre en charge cette fonctionnalité dans SQL Server Native Client,
SQLGetDescField
vous pouvez retourner SQL_C_SS_TIME2 (pour les types d’heure ) ou SQL_C_SS_TIMESTAMPOFFSET (pour datetimeoffset) au lieu de SQL_C_BINARY, si votre application utilise ODBC 3.8. Pour plus d’informations, consultez Prise en charge des types de données pour les améliorations de date et d’heure ODBC .Appel de
SQLGetData
à plusieurs reprises avec une petite mémoire tampon pour récupérer une valeur de paramètre élevée. Pour plus d'informations, voir Récupération des paramètres de sortie à l'aide de SQLGetData.
Les articles suivants décrivent les changements de comportement de SQL Server Native Client dans SQL Server 2012 (11.x).
Lors de l'appel de
ICommandWithParameters::SetParameterInfo
, la valeur passée au paramètrepwszName
doit être un identifiant valide. Pour plus d’informations, consultez ICommandWithParameters.SQLDescribeParam
retourne constamment une valeur conforme à la spécification ODBC. Pour plus d’informations, consultez SQLDescribeParam.Changement de comportement du pilote ODBC lors de la gestion des conversions de caractères