Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Jmenný Microsoft.Data.SqlClient prostor obsahuje podporovaného poskytovatele dat .NET pro databáze kompatibilní se SQL Server. Začal jako fork System.Data.SqlClient a zachovává známý programovací model ADO.NET, přičemž nové funkce SQL Server byly dodávány nezávisle na běhu .NET.
Použijte Microsoft.Data.SqlClient pro nový vývoj.
Instalace a import jmenného prostoru
Přidejte balíček NuGet:
dotnet add package Microsoft.Data.SqlClient
Importujte jmenný prostor:
using Microsoft.Data.SqlClient;
Většina aplikací používá SqlConnection, SqlCommand, SqlParameter, SqlDataReader, a .SqlTransaction Pro kompletní veřejnou plochu viz Microsoft. Data.SqlClient API reference.
Vztah k ADO.NET
Microsoft. Data.SqlClient implementuje typy nezávislé na poskytovateli z System.Data.Common, včetně DbConnection, DbCommand, DbDataReader, a DbTransaction. Poskytuje také API specifická pro SQL Server, například:
SqlBulkCopySqlBatchSqlConnectionStringBuilderSqlConfigurableRetryFactorySqlDependency- Podpora autentizace, šifrování a datových typů specifických pro SQL Server
Pro rady při výběru API nezávislých na poskytovateli nebo specifických pro SqlClient viz architektura ADO.NET s Microsoft. Data.SqlClient.
Vztah k System.Data.SqlClient
System.Data.SqlClientje starší poskytovatel, který je dodáván s .NET Framework a dřívějšími vydáními .NET.
Microsoft.Data.SqlClient používá mnoho stejných typových názvů, ale má odlišné balíčky, jmenné prostory, výchozí nastavení, funkce a podpůrné politiky.
Neodkazujte na oba poskytovatele v novém aplikačním kódu. Typy se stejným názvem z obou balíčků nejsou zaměnitelné. Například a System.Data.SqlClient.SqlConnection, nelze předat tam, kde je vyžadováno a Microsoft.Data.SqlClient.SqlConnection .
Migrace obvykle začíná přidáním balíčku Microsoft.Data.SqlClient a změnou odkazů ve jmenném prostoru, ale musíte také zkontrolovat šifrování spojení, parametry, konfiguraci, tranzitivní závislosti a chování za běhu. Sledujte migraci ze System.Data.SqlClient na Microsoft. Data.SqlClient před nasazením.
Kompatibilita verzí
Verze balíčku ovladačů je nezávislá na .NET verzi aplikace a verzi databázového enginu. Zkontrolujte všechny tři:
| Component | Co ověřit |
|---|---|
| Microsoft.Data.SqlClient | Verze vydání je podporována a obsahuje funkce, které vaše aplikace používá. |
| .NET nebo .NET Framework | Aplikace cílí na runtime podporované tímto vydáním ovladače. |
| Databáze kompatibilní se SQL Server | Verze ovladače podporuje databázovou verzi a server podporuje jakoukoli požadovanou protokolovou funkci, například TDS 8.0. |
Pro aktuální matice viz životní cyklus podpory ovladačů SqlClient.
Změny specifické pro verzi
Verze ovladačů mohou přidávat API, přesouvat volitelné závislosti a měnit bezpečné výchozí nastavení. Před každou menší nebo větší aktualizací si projděte změny.
Mezi příklady patří:
- Verze 4.0 byla změněna
Encryptna výchozí na .true - Byla představena
SqlConnectionEncryptOptionverze 5.0 aEncrypt=Strictpro TDS 8.0. - Verze 5.2 byla představena
SqlBatchna podporovaných moderních .NET cílech. - Verze 7.0 přesunula ovladačem poskytovanou autentizaci Microsoft Entra do
Microsoft.Data.SqlClient.Extensions.Azure.
Podívejte se, co je nového v Microsoft. Data.SqlClient pro odkazy k poznámkám k vydání a shrnutí aktualizace.
Související jmenné prostory a balíčky
Některé funkce používají typy mimo hlavní jmenný prostor nebo volitelné balíčky.
| Jmenný prostor nebo balíček | Purpose |
|---|---|
Microsoft.Data.SqlClient.Server |
Implementace SqlDataRecord a SqlClient a SqlMetaData. |
Microsoft.Data.SqlTypes |
Typy specifické pro SqlClient, jako SqlFileStreamjsou , SqlJson, a SqlVector<T>. |
Microsoft.Data.SqlClient.Diagnostics |
Silně typované diagnostické události s užitečnými datami. |
Microsoft.Data.SqlClient.Extensions.Azure |
Ovladačem poskytovaná autentizace Microsoft Entra pro verzi 7.0 a novější. |
Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider |
Azure Key Vault integration for Always Encrypted. |
Neodvozujte požadavky na balíček jen z jmenného prostoru. Postupujte podle článku o zásadách a informací o závislostech balíčku NuGet pro verzi ovladače, kterou používáte.