Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Namespace Microsoft.Data.SqlClient berisi penyedia data .NET yang didukung untuk basis data yang kompatibel dengan SQL Server. Ini bermula sebagai fork dari System.Data.SqlClient dan tetap mempertahankan model pemrograman ADO.NET yang familier, sembari menghadirkan fitur-fitur baru SQL Server secara independen dari runtime .NET.
Gunakan Microsoft.Data.SqlClient untuk pengembangan baru.
Instal dan impor namespace
Tambahkan paket NuGet:
dotnet add package Microsoft.Data.SqlClient
Impor ruang nama:
using Microsoft.Data.SqlClient;
Sebagian besar aplikasi menggunakan SqlConnection, SqlCommand, SqlParameter, SqlDataReader, dan SqlTransaction. Untuk cakupan publik lengkap, lihat referensi API Microsoft.Data.SqlClient.
Hubungan dengan ADO.NET
Microsoft.Data.SqlClient mengimplementasikan tipe yang tidak bergantung pada penyedia dari System.Data.Common, termasuk DbConnection, DbCommand, DbDataReader, dan DbTransaction. Aplikasi ini juga menyediakan API khusus SQL Server seperti:
SqlBulkCopySqlBatchSqlConnectionStringBuilderSqlConfigurableRetryFactorySqlDependency- Dukungan autentikasi, enkripsi, dan tipe data khusus SQL Server
Untuk panduan tentang memilih API yang independen terhadap penyedia atau khusus untuk SqlClient, lihat arsitektur ADO.NET dengan Microsoft.Data.SqlClient.
Hubungan dengan System.Data.SqlClient
System.Data.SqlClient adalah penyedia yang lebih lama yang disertakan dalam .NET Framework dan rilis .NET sebelumnya.
Microsoft.Data.SqlClient Menggunakan banyak nama tipe yang sama, tetapi memiliki paket, namespace, default, fitur, dan kebijakan dukungan yang berbeda.
Jangan merujuk kedua penyedia dalam kode aplikasi baru. Tipe dengan nama yang sama dari kedua paket tidak dapat dipertukarkan.
System.Data.SqlClient.SqlConnection, misalnya, tidak dapat dilewatkan jika Microsoft.Data.SqlClient.SqlConnection diperlukan.
Migrasi biasanya dimulai dengan menambahkan Microsoft.Data.SqlClient paket dan mengubah referensi namespace, tetapi Anda juga harus meninjau enkripsi koneksi, parameter, konfigurasi, dependensi transitif, dan perilaku runtime. Ikuti Migrasi dari System.Data.SqlClient ke Microsoft. Data.SqlClient sebelum Anda menerapkan.
Kompatibilitas versi
Versi paket driver independen dari versi .NET aplikasi dan versi mesin database. Periksa ketiganya:
| Komponen | Apa yang harus diverifikasi |
|---|---|
| Microsoft.Data.SqlClient | Garis rilis didukung dan berisi fitur yang digunakan aplikasi Anda. |
| .NET atau .NET Framework | Aplikasi menargetkan runtime yang didukung oleh rilis driver tersebut. |
| Basis data kompatibel dengan SQL Server | Rilis driver mendukung versi database dan server mendukung fitur protokol apa pun yang diminta, seperti TDS 8.0. |
Untuk matriks saat ini, lihat siklus hidup dukungan driver SqlClient.
Perubahan khusus versi
Rilis driver dapat menambahkan API, memindahkan dependensi opsional, dan mengubah default yang aman. Tinjau perubahan sebelum setiap pembaruan kecil atau besar.
Contohnya meliputi:
- Versi 4.0 diubah
Encryptmenjadi default ketrue. - Versi 5.0 memperkenalkan
SqlConnectionEncryptOptiondanEncrypt=Strictuntuk TDS 8.0. - Versi 5.2 memperkenalkan
SqlBatchpada target .NET modern yang didukung. - Versi 7.0 memindahkan autentikasi Microsoft Entra yang disediakan driver ke
Microsoft.Data.SqlClient.Extensions.Azure.
Lihat Apa yang Baru di Microsoft. Data.SqlClient untuk tautan catatan rilis dan ringkasan pembaruan.
Namespace dan paket terkait
Beberapa fitur menggunakan tipe di luar namespace utama atau paket opsional.
| Namespace atau paket | Kegunaan |
|---|---|
Microsoft.Data.SqlClient.Server |
Implementasi SqlClient dari SqlDataRecord dan SqlMetaData. |
Microsoft.Data.SqlTypes |
Tipe khusus SqlClient seperti SqlFileStream, SqlJson, dan SqlVector<T>. |
Microsoft.Data.SqlClient.Diagnostics |
Payload peristiwa diagnostik bertipe kuat. |
Microsoft.Data.SqlClient.Extensions.Azure |
Autentikasi Microsoft Entra yang disediakan oleh driver untuk versi 7.0 dan versi lebih baru. |
Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider |
Integrasi Azure Key Vault untuk Always Encrypted. |
Jangan menyimpulkan persyaratan paket hanya dari namespace. Ikuti artikel fitur dan informasi ketergantungan paket NuGet untuk versi driver yang Anda gunakan.