Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der Namensraum Microsoft.Data.SqlClient enthält den unterstützten .NET-Datenanbieter für SQL Server-kompatible Datenbanken. Es begann als Fork des System.Data.SqlClient vertrauten ADONET-Programmiermodells und behält es bei, während es neue SQL Server-Funktionen unabhängig von der .NET-Laufzeit ausliefert.
Verwenden Sie Microsoft.Data.SqlClient für neue Entwicklungen.
Installieren und importieren Sie den Namensraum
Fügen Sie das NuGet-Paket hinzu:
dotnet add package Microsoft.Data.SqlClient
Importieren Sie den Namespace:
using Microsoft.Data.SqlClient;
Die meisten Anwendungen verwenden SqlConnection, SqlCommand, SqlParameter, , SqlDataReaderund SqlTransaction. Für die vollständige öffentliche Oberfläche siehe die Microsoft. Data.SqlClient API-Referenz.
Beziehung zu ADO.NET
Microsoft. Data.SqlClient implementiert anbieterunabhängige Typen aus System.Data.Common, einschließlich DbConnection, DbCommand, , DbDataReaderund DbTransaction. Es stellt außerdem SQL Server-spezifische APIs bereit, wie zum Beispiel:
SqlBulkCopySqlBatchSqlConnectionStringBuilderSqlConfigurableRetryFactorySqlDependency- Unterstützung für SQL Server-spezifische Authentifizierung, Verschlüsselung und Datentypen
Für Hinweise zur Auswahl anbieterunabhängiger oder SqlClient-spezifischer APIs siehe ADO.NET-Architektur mit Microsoft. Data.SqlClient.
Beziehung zu System.Data.SqlClient
System.Data.SqlClientist der ältere Anbieter, der mit .NET Framework und früheren .NET-Versionen ausgeliefert wird.
Microsoft.Data.SqlClient verwendet viele der gleichen Typnamen, hat jedoch unterschiedliche Pakete, Namensräume, Standardwerte, Funktionen und Support-Richtlinien.
Beziehen Sie sich im neuen Anwendungscode nicht auf beide Anbieter. Typen mit demselben Namen aus den beiden Paketen sind nicht austauschbar. Ein System.Data.SqlClient.SqlConnection kann beispielsweise nicht dort übergeben werden, wo ein Microsoft.Data.SqlClient.SqlConnection erforderlich ist.
Die Migration beginnt üblicherweise mit dem Hinzufügen des Pakets Microsoft.Data.SqlClient und dem Ändern der Namensraumreferenzen, aber Sie müssen auch die Verschlüsselung der Verbindung, Parameter, Konfiguration, transitive Abhängigkeiten und das Laufzeitverhalten überprüfen. Befolgen Sie die Migration von System.Data.SqlClient zu Microsoft.Data.SqlClient, bevor Sie bereitstellen.
Versionskompatibilität
Die Version des Treiberpakets ist unabhängig von der .NET-Version der Anwendung und der Datenbank-Engine-Version. Überprüfen Sie alle drei:
| Component | Was zu überprüfen ist |
|---|---|
| Microsoft.Data.SqlClient | Die Release-Linie wird unterstützt und enthält die Funktionen, die Ihre Anwendung verwendet. |
| .NET- oder .NET-Framework | Die Anwendung zielt auf eine Laufzeitumgebung ab, die von diesem Treiber-Release unterstützt wird. |
| SQL Server-kompatible Datenbank | Die Treiberversion unterstützt die Datenbankversion, und der Server unterstützt jede gewünschte Protokollfunktion, wie z. B. TDS 8.0. |
Für aktuelle Matrizen siehe SqlClient-Treiber-Support-Lebenszyklus.
Versionsspezifische Änderungen
Treiber-Releases können APIs hinzufügen, optionale Abhängigkeiten verschieben und sichere Standardeinstellungen ändern. Überprüfe Änderungen vor jedem kleinen oder größeren Update.
Dazu gehören:
- Version 4.0 änderte
Encryptso, dass standardmäßigtrueverwendet wird. - Version 5.0 führte
SqlConnectionEncryptOptionundEncrypt=Strictfür TDS 8.0 ein. - Mit Version 5.2 wurde
SqlBatchfür unterstützte moderne .NET-Zielplattformen eingeführt. - Version 7.0 verschob die treibergesteuerte Microsoft Entra-Authentifizierung in
Microsoft.Data.SqlClient.Extensions.Azure.
Unter Neuerungen in Microsoft.Data.SqlClient finden Sie Links zu den Versionshinweisen und eine Upgradezusammenfassung.
Verwandte Namensräume und Pakete
Einige Funktionen verwenden Typen außerhalb des Hauptnamensraums oder optionale Pakete.
| Namensraum oder Paket | Purpose |
|---|---|
Microsoft.Data.SqlClient.Server |
SQL-Client-Implementierungen von SqlDataRecord und SqlMetaData. |
Microsoft.Data.SqlTypes |
SQLClient-spezifische Typen wie SqlFileStream, SqlJson, und SqlVector<T>. |
Microsoft.Data.SqlClient.Diagnostics |
Stark typisierte diagnostische Ereignisnutzlasten. |
Microsoft.Data.SqlClient.Extensions.Azure |
Treibergesteuerte Microsoft Entra-Authentifizierung für Version 7.0 und neuer. |
Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider |
Integration von Azure Key Vault für Always Encrypted. |
Leiten Sie Paketanforderungen nicht allein anhand eines Namensraums ab. Folgen Sie dem Feature-Artikel und den Informationen zur NuGet-Paketabhängigkeit für die von Ihnen verwendete Treiberversion.