Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’espace Microsoft.Data.SqlClient de noms contient le fournisseur de données .NET pris en charge pour les bases de données compatibles avec SQL Server. Il est issu d’un fork de System.Data.SqlClient et conserve le modèle de programmation ADO.NET familier, tout en proposant de nouvelles fonctionnalités de SQL Server indépendamment du runtime .NET.
Utilisez Microsoft.Data.SqlClient pour la nouvelle conception.
Installer et importer l’espace de noms
Ajoutez le package NuGet :
dotnet add package Microsoft.Data.SqlClient
Importez l’espace de noms :
using Microsoft.Data.SqlClient;
La plupart des applications utilisent SqlConnection, SqlCommand, SqlParameter, SqlDataReader, et SqlTransaction. Pour la surface publique complète, voir la référence de l’API Microsoft. Data.SqlClient.
Lien avec ADO.NET
Microsoft. Data.SqlClient implémente des types indépendants du fournisseur issus de System.Data.Common, y compris DbConnection, DbCommand, DbDataReader, et DbTransaction. Il fournit également des API spécifiques à SQL Server telles que :
SqlBulkCopySqlBatchSqlConnectionStringBuilderSqlConfigurableRetryFactorySqlDependency- Authentification spécifique à SQL Server, chiffrement et support des types de données
Pour des conseils sur le choix d’API indépendantes du fournisseur ou spécifiques à SqlClient, voir l’architecture ADO.NET avec Microsoft. Data.SqlClient.
Relation avec System.Data.SqlClient
System.Data.SqlClientest le fournisseur plus ancien qui propose le cadre .NET et les versions antérieures de .NET.
Microsoft.Data.SqlClient utilise de nombreux noms de type similaires, mais possède des paquets, espaces de noms, paramètres par défaut, fonctionnalités et politiques de support différents.
Ne mentionnez pas les deux fournisseurs dans le nouveau code de la demande. Les types portant le même nom issus des deux paquets ne sont pas interchangeables. Un System.Data.SqlClient.SqlConnection, par exemple, ne peut pas être transmis lorsqu’un Microsoft.Data.SqlClient.SqlConnection est requis.
La migration commence généralement par l’ajout du package Microsoft.Data.SqlClient et la modification des références d’espace de noms, mais vous devez également examiner le chiffrement des connexions, les paramètres, la configuration, les dépendances transitives et le comportement à l’exécution. Suivez Migrer de System.Data.SqlClient vers Microsoft. Data.SqlClient avant de déployer.
Compatibilité des versions
La version du package de pilotes est indépendante de la version .NET de l'application et de la version du moteur de base de données. Vérifiez les trois :
| Composant | Points à vérifier |
|---|---|
| Microsoft.Data.SqlClient | La ligne de publication est prise en charge et contient les fonctionnalités utilisées par votre application. |
| .NET ou .NET Framework | L’application cible un temps d’exécution supporté par cette version du pilote. |
| Base de données compatible SQL Server | La version du pilote prend en charge la version de la base de données et le serveur prend en charge toute fonctionnalité de protocole demandée, comme TDS 8.0. |
Pour les matrices actuelles, voir le cycle de vie du support du pilote SqlClient.
Modifications spécifiques à la version
Les versions de pilotes peuvent ajouter des API, déplacer des dépendances optionnelles et modifier des paramètres sécurisés. Passez en revue les changements avant chaque mise à jour mineure ou majeure.
Voici quelques exemples :
- La version 4.0 a été modifiée pour utiliser
truepar défaut à la place deEncrypt. - La version 5.0 a introduit
SqlConnectionEncryptOptionetEncrypt=Strictpour TDS 8.0. - La version 5.2 a introduit
SqlBatchpour les plateformes .NET modernes prises en charge. - La version 7.0 a déplacé l’authentification Microsoft Entra fournie par le pilote dans
Microsoft.Data.SqlClient.Extensions.Azure.
Découvrez les nouveautés chez Microsoft. Data.SqlClient pour les liens des notes de mise à jour et un résumé de mise à jour.
Espaces de noms et packages associés
Certaines fonctionnalités utilisent des types en dehors de l’espace de noms principal ou des packages optionnels.
| Espace de noms ou paquetage | Purpose |
|---|---|
Microsoft.Data.SqlClient.Server |
Implémentations SqlClient de SqlDataRecord et SqlMetaData. |
Microsoft.Data.SqlTypes |
Types spécifiques à SqlClient tels que SqlFileStream, SqlJson, et SqlVector<T>. |
Microsoft.Data.SqlClient.Diagnostics |
Charges utiles d’événements de diagnostic fortement typées. |
Microsoft.Data.SqlClient.Extensions.Azure |
Authentification Microsoft Entra fournie par le pilote pour la version 7.0 et ultérieure. |
Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider |
Intégration Azure Key Vault pour Always Encrypted. |
N’inférez pas les exigences du package uniquement à partir d’un espace de noms. Suivez l’article de fonctionnalité et les informations sur les dépendances du paquet NuGet pour la version du pilote que vous utilisez.