Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Przestrzeń nazw Microsoft.Data.SqlClient zawiera obsługiwanego dostawcę danych .NET dla baz danych zgodnych z SQL Server. Początkowo był forkiem System.Data.SqlClient i zachowuje znany model programowania ADO.NET, jednocześnie wprowadzając nowe funkcje SQL Server niezależnie od środowiska uruchomieniowego .NET.
Użyj Microsoft.Data.SqlClient do nowych opracowań.
Zainstaluj i zaimportuj przestrzeń nazw
Dodaj pakiet NuGet:
dotnet add package Microsoft.Data.SqlClient
Zaimportuj przestrzeń nazw:
using Microsoft.Data.SqlClient;
Większość aplikacji używa SqlConnection, SqlCommand, SqlParameter, SqlDataReader, oraz .SqlTransaction Pełny publiczny interfejs API opisano w dokumentacji interfejsu API Microsoft.Data.SqlClient.
Związek z ADO.NET
Microsoft. Data.SqlClient implementuje niezależne od dostawcy typy z System.Data.Common, w tym DbConnection, DbCommand, DbDataReader, oraz DbTransaction. Oferuje także specyficzne dla SQL Server API takie jak:
SqlBulkCopySqlBatchSqlConnectionStringBuilderSqlConfigurableRetryFactorySqlDependency- Specyficzna dla SQL Server uwierzytelnianie, szyfrowanie i wsparcie dla typów danych
Aby uzyskać wskazówki dotyczące wyboru API niezależnych od dostawcy lub specyficznych dla SqlClient, zobacz architekturę ADO.NET z Microsoft. Data.SqlClient.
Związek z System.Data.SqlClient
System.Data.SqlClient jest starszym dostawcą, który wchodzi w skład platformy .NET Framework oraz wcześniejszych wydań platformy .NET.
Microsoft.Data.SqlClient używa wielu tych samych nazw typów, ale posiada różne pakiety, przestrzenie nazw, domyślne konfiguracje, funkcje i polityki wsparcia.
Nie odwołuj się do obu dostawców w nowym kodzie aplikacji. Typy o tej samej nazwie z obu pakietów nie są wymienne.
System.Data.SqlClient.SqlConnection, na przykład, nie może zostać przekazane w miejscu, w którym wymagane jest Microsoft.Data.SqlClient.SqlConnection.
Migracja zwykle zaczyna się od dodania pakietu Microsoft.Data.SqlClient i zmiany odniesień do przestrzeni nazw, ale musisz także przejrzeć szyfrowanie połączenia, parametry, konfigurację, zależności tranzytywne oraz zachowanie w czasie działania. Postępuj zgodnie z instrukcjami w Migracja z System.Data.SqlClient do Microsoft.Data.SqlClient przed wdrożeniem.
Zgodność wersji
Wersja pakietu sterownika jest niezależna od wersji .NET aplikacji oraz wersji silnika bazy danych. Sprawdź wszystkie trzy:
| Component | Co należy zweryfikować |
|---|---|
| Microsoft.Data.SqlClient | Linia wydania jest obsługiwana i zawiera funkcje, z których korzysta Twoja aplikacja. |
| .NET lub .NET Framework | Aplikacja celuje w czas działania obsługiwany przez tę wersję sterownika. |
| Baza danych zgodna z SQL Server | Wersja sterownika obsługuje wersję bazy danych, a serwer obsługuje dowolną żądaną funkcję protokołu, taką jak TDS 8.0. |
Aktualne macierze można znaleźć w cyklu życia wsparcia sterowników SqlClient.
Zmiany specyficzne dla wersji
Wersje sterowników mogą dodawać API, przenosić opcjonalne zależności oraz zmieniać bezpieczne domyślne ustawienia. Przeglądaj zmiany przed każdą drobną lub większą aktualizacją.
Oto kilka przykładów:
- W wersji 4.0 ustawienie
Encryptzostało zmienione tak, aby domyślnie miało wartośćtrue. - Wersja 5.0 wprowadziła
SqlConnectionEncryptOptioniEncrypt=Strictdla TDS 8.0. - Wersja 5.2 wprowadziła
SqlBatchdla obsługiwanych nowoczesnych platform docelowych .NET. - Wersja 7.0 przeniosła uwierzytelnianie Microsoft Entra udostępniane przez sterownik do
Microsoft.Data.SqlClient.Extensions.Azure.
Zobacz Co nowego w produkcie Microsoft.Data.SqlClient, aby uzyskać linki do informacji o wydaniu oraz podsumowanie aktualizacji.
Powiązane przestrzenie nazw i pakiety
Niektóre funkcje wykorzystują typy poza główną przestrzenią nazw lub opcjonalne pakiety.
| Przestrzeń nazw lub pakiet | Purpose |
|---|---|
Microsoft.Data.SqlClient.Server |
Implementacje SqlClient elementów SqlDataRecord i SqlMetaData. |
Microsoft.Data.SqlTypes |
Typy specyficzne dla SqlClient, takie jak SqlFileStream, SqlJson, oraz SqlVector<T>. |
Microsoft.Data.SqlClient.Diagnostics |
Silnie typowane ładunki zdarzeń diagnostycznych. |
Microsoft.Data.SqlClient.Extensions.Azure |
Uwierzytelnianie Microsoft Entra zapewniane przez sterownik dla wersji 7.0 i nowszych. |
Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider |
Integracja z usługą Azure Key Vault dla funkcji Always Encrypted. |
Nie wyciągaj wniosków o wymaganiach pakietu tylko na podstawie przestrzeni nazw. Podążaj za artykułem o funkcjach oraz informacjami o zależności pakietu NuGet dla wersji sterownika, której używasz.