SqlConnectionStringBuilder Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menyediakan cara sederhana untuk membuat dan mengelola konten string koneksi yang digunakan oleh SqlConnection kelas .
public ref class SqlConnectionStringBuilder sealed : System::Data::Common::DbConnectionStringBuilder
[System.ComponentModel.TypeConverter(typeof(Microsoft.Data.SqlClient.SqlConnectionStringBuilder+SqlConnectionStringBuilderConverter))]
public sealed class SqlConnectionStringBuilder : System.Data.Common.DbConnectionStringBuilder
public sealed class SqlConnectionStringBuilder : System.Data.Common.DbConnectionStringBuilder
[<System.ComponentModel.TypeConverter(typeof(Microsoft.Data.SqlClient.SqlConnectionStringBuilder+SqlConnectionStringBuilderConverter))>]
type SqlConnectionStringBuilder = class
inherit DbConnectionStringBuilder
type SqlConnectionStringBuilder = class
inherit DbConnectionStringBuilder
Public NotInheritable Class SqlConnectionStringBuilder
Inherits DbConnectionStringBuilder
- Warisan
-
SqlConnectionStringBuilder
- Atribut
Contoh
Aplikasi konsol berikut membangun string koneksi untuk database SQL Server. Kode menggunakan SqlConnectionStringBuilder kelas untuk membuat string koneksi, lalu meneruskan ConnectionString properti SqlConnectionStringBuilder instans ke konstruktor kelas koneksi. Contohnya juga mengurai string koneksi yang ada dan menunjukkan berbagai cara untuk memanipulasi konten string koneksi.
Catatan
Contoh ini mencakup kata sandi untuk menunjukkan cara SqlConnectionStringBuilder kerja dengan string koneksi. Di aplikasi Anda, kami sarankan Anda menggunakan Autentikasi Windows. Jika Anda harus menggunakan kata sandi, jangan sertakan kata sandi yang dikodekan secara permanen dalam aplikasi Anda.
using Microsoft.Data.SqlClient;
class Program
{
static void Main()
{
// Create a new SqlConnectionStringBuilder and
// initialize it with a few name/value pairs.
SqlConnectionStringBuilder builder =
new SqlConnectionStringBuilder(GetConnectionString());
// The input connection string used the
// Server key, but the new connection string uses
// the well-known Data Source key instead.
Console.WriteLine(builder.ConnectionString);
// Pass the SqlConnectionStringBuilder an existing
// connection string, and you can retrieve and
// modify any of the elements.
builder.ConnectionString = "server=(local);user id=ab;" +
"password= a!Pass113;initial catalog=AdventureWorks";
// Now that the connection string has been parsed,
// you can work with individual items.
Console.WriteLine(builder.Password);
builder.Password = "new@1Password";
// You can refer to connection keys using strings,
// as well. When you use this technique (the default
// Item property in Visual Basic, or the indexer in C#),
// you can specify any synonym for the connection string key
// name.
builder["Server"] = ".";
builder["Connect Timeout"] = 1000;
builder["Trusted_Connection"] = true;
Console.WriteLine(builder.ConnectionString);
Console.WriteLine("Press Enter to finish.");
Console.ReadLine();
}
private static string GetConnectionString()
{
// To avoid storing the connection string in your code,
// you can retrieve it from a configuration file.
return "Server=(local);Integrated Security=SSPI;" +
"Initial Catalog=AdventureWorks";
}
}
Keterangan
Penyusun string koneksi memungkinkan pengembang membuat string koneksi yang benar secara terprogram, dan mengurai dan membangun kembali string koneksi yang ada, menggunakan properti dan metode kelas. Penyusun string koneksi menyediakan properti yang sangat ditik yang sesuai dengan pasangan kunci/nilai yang diketahui yang diizinkan oleh SQL Server. Pengembang perlu membuat string koneksi sebagai bagian dari aplikasi dapat menggunakan SqlConnectionStringBuilder kelas untuk membangun dan memodifikasi string koneksi. Kelas ini juga memudahkan untuk mengelola string koneksi yang disimpan dalam file konfigurasi aplikasi.
melakukan SqlConnectionStringBuilder pemeriksaan untuk pasangan kunci/nilai yang valid. Oleh karena itu, Anda tidak dapat menggunakan kelas ini untuk membuat string koneksi yang tidak valid; mencoba menambahkan pasangan yang tidak valid akan memberikan pengecualian. Kelas ini mempertahankan koleksi sinonim tetap dan dapat diterjemahkan dari sinonim ke nama kunci terkenal yang sesuai.
Misalnya, saat Anda menggunakan properti Item untuk mengambil nilai, Anda dapat menentukan string yang berisi sinonim apa pun untuk kunci yang Anda butuhkan. Misalnya, Anda dapat menentukan "Alamat Jaringan", "addr", atau sinonim lain yang dapat diterima untuk kunci ini dalam string koneksi saat Anda menggunakan anggota apa pun yang memerlukan string yang berisi nama kunci, seperti properti Item atau Remove metode . ConnectionString Lihat properti untuk daftar lengkap sinonim yang dapat diterima.
Properti Item menangani mencoba menyisipkan entri berbahaya. Misalnya, kode berikut, menggunakan properti Item default (pengindeks, di C#) dengan benar lolos dari pasangan kunci/nilai berlapis:
Dim builder As New Microsoft.Data.SqlClient.SqlConnectionStringBuilder
builder("Data Source") = "(local)"
builder("Integrated Security") = True
builder("Initial Catalog") = "AdventureWorks;NewValue=Bad"
Console.WriteLine(builder.ConnectionString)
Microsoft.Data.SqlClient.SqlConnectionStringBuilder builder =
new Microsoft.Data.SqlClient.SqlConnectionStringBuilder();
builder["Data Source"] = "(local)";
builder["Integrated Security"] = true;
builder["Initial Catalog"] = "AdventureWorks;NewValue=Bad";
Console.WriteLine(builder.ConnectionString);
Hasilnya adalah string koneksi berikut yang menangani nilai yang tidak valid dengan cara yang aman:
Source=(local);Initial Catalog="AdventureWorks;NewValue=Bad";
Integrated Security=True
Konstruktor
SqlConnectionStringBuilder() |
Menginisialisasi instans baru kelas SqlConnectionStringBuilder. |
SqlConnectionStringBuilder(String) |
Menginisialisasi instans baru kelas SqlConnectionStringBuilder. string koneksi yang disediakan menyediakan data untuk informasi koneksi internal instans. |
Properti
ApplicationIntent |
Menyatakan jenis beban kerja aplikasi saat menyambungkan ke database dalam Grup Ketersediaan SQL Server. Anda dapat mengatur nilai properti ini dengan ApplicationIntent. Untuk informasi selengkapnya tentang dukungan SqlClient untuk Grup Ketersediaan AlwaysOn, lihat Dukungan SqlClient untuk Ketersediaan Tinggi, Pemulihan Bencana. |
ApplicationName |
Mendapatkan atau mengatur nama aplikasi yang terkait dengan string koneksi. |
AsynchronousProcessing |
Kedaluwarsa.
Kedaluwarsa. Mendapatkan atau menetapkan nilai Boolean yang menunjukkan apakah pemrosesan asinkron diizinkan oleh koneksi yang dibuat dengan menggunakan string koneksi ini. |
AttachDBFilename |
Mendapatkan atau mengatur string yang berisi nama file data utama. Ini termasuk nama jalur lengkap database yang dapat dilampirkan. |
AttestationProtocol |
Mendapatkan atau menetapkan nilai Protokol Pengesahan. |
Authentication |
Mendapatkan atau mengatur metode autentikasi yang digunakan untuk Menyambungkan ke SQL Database Dengan Menggunakan Autentikasi Azure Active Directory. |
ColumnEncryptionSetting |
Mendapatkan atau mengatur pengaturan enkripsi kolom untuk penyusun string koneksi. |
CommandTimeout |
Waktu tunggu default (dalam detik) sebelum mengakhiri upaya untuk menjalankan perintah dan menghasilkan kesalahan. Defaultnya adalah 30 detik. |
ConnectionReset |
Kedaluwarsa.
Kedaluwarsa.
Kedaluwarsa. Mendapatkan atau mengatur nilai Boolean yang menunjukkan apakah koneksi diatur ulang saat digambar dari kumpulan koneksi. |
ConnectRetryCount |
Jumlah koneksi ulang yang dicoba setelah mengidentifikasi bahwa ada kegagalan koneksi diam. Ini harus berupa bilangan bulat antara 0 dan 255. Nilai default untuk titik akhir non Azure adalah 1. Untuk titik akhir Azure SQL, defaultnya adalah 2. Mulai dari versi 5.x, untuk Azure SQL titik akhir tanpa server atau sesuai permintaan, defaultnya adalah 5 untuk meningkatkan keberhasilan koneksi untuk koneksi ke instans diam atau dijeda. Atur ke 0 untuk menonaktifkan menyambungkan kembali pada kegagalan koneksi diam. ArgumentException Akan dilemparkan jika diatur ke nilai di luar rentang yang diizinkan. |
ConnectRetryInterval |
Jumlah waktu (dalam detik) antara setiap upaya koneksi ulang setelah mengidentifikasi bahwa ada kegagalan koneksi diam. Ini harus berupa bilangan bulat antara 1 dan 60. Defaultnya adalah 10 detik. |
ConnectTimeout |
Mendapatkan atau mengatur lamanya waktu (dalam detik) untuk menunggu koneksi ke server sebelum mengakhiri upaya dan menghasilkan kesalahan. |
ContextConnection |
Kedaluwarsa.
Kedaluwarsa. Mendapatkan atau menetapkan nilai yang menunjukkan apakah koneksi klien/server atau dalam proses ke SQL Server harus dibuat. |
CurrentLanguage |
Mendapatkan atau mengatur bahasa yang digunakan untuk peringatan server database atau pesan kesalahan.. |
DataSource |
Mendapatkan atau mengatur nama atau alamat jaringan instans SQL Server untuk disambungkan. |
EnclaveAttestationUrl |
Mendapatkan atau mengatur URL pengesahan enklave yang akan digunakan dengan Always Encrypted berbasis enklave. |
Encrypt |
Mendapatkan atau menetapkan SqlConnectionEncryptOption nilai sejak versi 5.0 atau Boolean nilai untuk versi sebelumnya yang menunjukkan apakah enkripsi TLS diperlukan untuk semua data yang dikirim antara klien dan server. |
Enlist |
Mendapatkan atau menetapkan nilai Boolean yang menunjukkan apakah pengumpul koneksi SQL Server secara otomatis mendaftarkan koneksi dalam konteks transaksi alur pembuatan saat ini. |
FailoverPartner |
Mendapatkan atau mengatur nama atau alamat server mitra untuk disambungkan jika server utama tidak berfungsi. |
FailoverPartnerSPN |
Mendapatkan atau menetapkan nama prinsipal layanan (SPN) dari mitra failover untuk koneksi. |
HostNameInCertificate |
Mendapatkan atau mengatur nama host yang akan digunakan saat memvalidasi sertifikat server untuk koneksi. Ketika tidak ditentukan, nama server dari |
InitialCatalog |
Mendapatkan atau mengatur nama database yang terkait dengan koneksi. |
IntegratedSecurity |
Mendapatkan atau menetapkan nilai Boolean yang menunjukkan apakah ID Pengguna dan Kata Sandi ditentukan dalam koneksi (ketika |
IPAddressPreference |
Mendapatkan atau mengatur preferensi keluarga alamat IP saat membuat koneksi TCP. |
IsFixedSize |
Mendapatkan nilai yang menunjukkan apakah SqlConnectionStringBuilder memiliki ukuran tetap. |
Item[String] |
Mendapatkan atau mengatur nilai yang terkait dengan kunci yang ditentukan. Di C#, properti ini adalah pengindeks. |
Keys |
ICollection Mendapatkan yang berisi kunci di SqlConnectionStringBuilder. |
LoadBalanceTimeout |
Mendapatkan atau mengatur waktu minimum, dalam detik, agar koneksi hidup di kumpulan koneksi sebelum dihancurkan. |
MaxPoolSize |
Mendapatkan atau mengatur jumlah maksimum koneksi yang diizinkan dalam kumpulan koneksi untuk string koneksi khusus ini. |
MinPoolSize |
Mendapatkan atau mengatur jumlah minimum koneksi yang diizinkan di kumpulan koneksi untuk string koneksi khusus ini. |
MultipleActiveResultSets |
Jika true, aplikasi dapat mempertahankan beberapa tataan hasil aktif (MARS). Ketika false, aplikasi harus memproses atau membatalkan semua tataan hasil dari satu batch sebelum dapat menjalankan batch lain pada koneksi tersebut. Untuk informasi selengkapnya, lihat Beberapa Kumpulan Hasil Aktif (MARS). |
MultiSubnetFailover |
Jika aplikasi Anda terhubung ke grup ketersediaan AlwaysOn (AG) pada subnet yang berbeda, pengaturan MultiSubnetFailover=true memberikan deteksi dan koneksi yang lebih cepat ke server aktif (saat ini). Untuk informasi selengkapnya tentang dukungan SqlClient untuk Grup Ketersediaan AlwaysOn, lihat Dukungan SqlClient untuk Ketersediaan Tinggi, Pemulihan Bencana. |
NetworkLibrary |
Mendapatkan atau mengatur string yang berisi nama pustaka jaringan yang digunakan untuk membuat koneksi ke SQL Server. |
PacketSize |
Mendapatkan atau mengatur ukuran dalam byte paket jaringan yang digunakan untuk berkomunikasi dengan instans SQL Server. |
Password |
Mendapatkan atau mengatur kata sandi untuk akun SQL Server. |
PersistSecurityInfo |
Mendapatkan atau menetapkan nilai Boolean yang menunjukkan apakah informasi sensitif keamanan, seperti kata sandi atau token akses, harus dikembalikan sebagai bagian dari string koneksi pada koneksi yang dibuat dengan ini SqlConnectionStringBuilder setelah koneksi tersebut dalam keadaan terbuka. Properti ini hanya boleh diatur ke |
PoolBlockingPeriod |
Perilaku periode pemblokiran untuk kumpulan koneksi. |
Pooling |
Mendapatkan atau menetapkan nilai Boolean yang menunjukkan apakah koneksi akan dikumpulkan atau dibuka secara eksplisit setiap kali koneksi diminta. |
Replication |
Mendapatkan atau menetapkan nilai Boolean yang menunjukkan apakah replikasi didukung menggunakan koneksi. |
ServerCertificate |
Mendapatkan atau mengatur jalur ke file sertifikat agar cocok dengan sertifikat TLS/SSL SQL Server untuk koneksi. Format sertifikat yang diterima adalah PEM, DER, dan CER. Jika ditentukan, sertifikat SQL Server diperiksa dengan memverifikasi apakah |
ServerSPN |
Mendapatkan atau mengatur nama perwakilan layanan (SPN) sumber data. |
TransactionBinding |
Mendapatkan atau menetapkan nilai string yang menunjukkan bagaimana koneksi mempertahankan hubungannya dengan transaksi yang terdaftar |
TransparentNetworkIPResolution |
Ketika nilai kunci ini diatur ke |
TrustServerCertificate |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah saluran akan dienkripsi saat melewati rantai sertifikat untuk memvalidasi kepercayaan. |
TypeSystemVersion |
Mendapatkan atau menetapkan nilai string yang menunjukkan sistem jenis yang diharapkan aplikasi. |
UserID |
Mendapatkan atau mengatur ID pengguna yang akan digunakan saat menyambungkan ke SQL Server. |
UserInstance |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah akan mengalihkan koneksi dari instans SQL Server Express default ke instans yang dimulai runtime yang berjalan di bawah akun pemanggil. |
Values |
Mendapatkan yang ICollection berisi nilai dalam SqlConnectionStringBuilder. |
WorkstationID |
Mendapatkan atau mengatur nama stasiun kerja yang tersambung ke SQL Server. |
Metode
Clear() |
Menghapus konten instans SqlConnectionStringBuilder . |
ContainsKey(String) |
Menentukan apakah berisi SqlConnectionStringBuilder kunci tertentu. |
Remove(String) |
Menghapus entri dengan kunci yang ditentukan dari SqlConnectionStringBuilder instans. |
ShouldSerialize(String) |
Menunjukkan apakah kunci yang ditentukan ada dalam instans ini SqlConnectionStringBuilder . |
TryGetValue(String, Object) |
Mengambil nilai yang sesuai dengan kunci yang disediakan dari ini SqlConnectionStringBuilder. |