SqlConnectionStringBuilder Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
SqlConnection sınıfı tarafından kullanılan bağlantı dizelerinin içeriğini oluşturmak ve yönetmek için basit bir yol sağlar.
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
- Devralma
-
SqlConnectionStringBuilder
- Öznitelikler
Örnekler
Aşağıdaki konsol uygulaması bir SQL Server veritabanı için bağlantı dizeleri oluşturur. Kod, bağlantı dizesi oluşturmak için bir SqlConnectionStringBuilder sınıf kullanır ve ardından örneğin özelliğini SqlConnectionStringBuilder bağlantı sınıfının oluşturucusna geçirirConnectionString. Örnek ayrıca var olan bir bağlantı dizesi ayrıştırarak bağlantı dizesi içeriğini düzenlemenin çeşitli yollarını gösterir.
Note
Bu örnek, bağlantı dizeleriyle nasıl SqlConnectionStringBuilder çalıştığını gösteren bir parola içerir. Uygulamalarınızda Windows Kimlik Doğrulaması kullanmanızı öneririz. Parola kullanmanız gerekiyorsa, uygulamanıza sabit kodlanmış bir parola eklemeyin.
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=********;initial catalog=AdventureWorks";
// Now that the connection string has been parsed,
// you can work with individual items.
Console.WriteLine(builder.Password);
builder.Password = "********";
// 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";
}
}
Açıklamalar
Bağlantı dizesi oluşturucusu, geliştiricilerin program aracılığıyla el dizimsel olarak doğru bağlantı dizeleri oluşturmasına ve sınıfın özelliklerini ve yöntemlerini kullanarak mevcut bağlantı dizelerini ayrıştırıp yeniden oluşturmasına olanak tanır. Bağlantı dizesi oluşturucusu, SQL Server tarafından izin verilen bilinen anahtar/değer çiftlerine karşılık gelen kesin olarak belirlenmiş özellikler sağlar. Uygulamaların bir parçası olarak bağlantı dizeleri oluşturması gereken geliştiriciler, bağlantı dizelerini oluşturmak ve değiştirmek için sınıfını kullanabilir SqlConnectionStringBuilder . sınıfı, bir uygulama yapılandırma dosyasında depolanan bağlantı dizelerini yönetmeyi de kolaylaştırır.
geçerli SqlConnectionStringBuilder anahtar/değer çiftleri için denetimler gerçekleştirir. Bu nedenle, geçersiz bağlantı dizeleri oluşturmak için bu sınıfı kullanamazsınız; Geçersiz çiftler eklemeye çalışılırsa bir özel durum oluşturulur. sınıfı, sabit bir eş anlamlılar koleksiyonu tutar ve eş anlamlıdan ilgili iyi bilinen anahtar adına çevirebilir.
Örneğin, bir değeri almak için Item özelliğini kullandığınızda, ihtiyacınız olan anahtar için herhangi bir eş anlamlı içeren bir dize belirtebilirsiniz. Örneğin, Item özelliği veya yöntemi gibi anahtar adını içeren bir dize gerektiren bir üye kullandığınızda, bir bağlantı dizesi içinde bu anahtar için "Ağ Adresi", "ekleyici" veya Remove diğer kabul edilebilir eş anlamlıları belirtebilirsiniz. Kabul edilebilir eş anlamlıların tam listesi için ConnectionString özelliğine bakın.
Item özelliği tanıtıcıları kötü amaçlı girdiler eklemeye çalışır. Örneğin, aşağıdaki kodda varsayılan Item özelliği (C#'de dizin oluşturucu) kullanıldığında iç içe anahtar/değer çifti doğru şekilde kaçılır:
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);
Sonuç, geçersiz değeri güvenli bir şekilde işleyen aşağıdaki bağlantı dizesidir:
Source=(local);Initial Catalog="AdventureWorks;NewValue=Bad";
Integrated Security=True
Oluşturucular
| Veri Akışı Adı | Description |
|---|---|
| SqlConnectionStringBuilder() |
SqlConnectionStringBuilder sınıfının yeni bir örneğini başlatır. |
| SqlConnectionStringBuilder(String) |
SqlConnectionStringBuilder sınıfının yeni bir örneğini başlatır. Sağlanan bağlantı dizesi, örneğin iç bağlantı bilgileri için verileri sağlar. |
Özellikler
| Veri Akışı Adı | Description |
|---|---|
| ApplicationIntent |
SQL Server Kullanılabilirlik Grubundaki bir veritabanına bağlanırken uygulama iş yükü türünü bildirir. bu özelliğin değerini ApplicationIntentile ayarlayabilirsiniz. Always On Kullanılabilirlik Grupları için SqlClient desteği hakkında daha fazla bilgi için bkz. Yüksek Kullanılabilirlik için SqlClient Desteği, Olağanüstü Durum Kurtarma. |
| ApplicationName |
Bağlantı dizesiyle ilişkili uygulamanın adını alır veya ayarlar. |
| AsynchronousProcessing |
Geçersiz.
Obsolete. Bu bağlantı dizesi kullanılarak oluşturulan bağlantı tarafından zaman uyumsuz işlemeye izin verilip verilmeyeceğini belirten bir Boole değeri alır veya ayarlar. |
| AttachDBFilename |
Birincil veri dosyasının adını içeren bir dize alır veya ayarlar. Bu, eklenebilir veritabanının tam yol adını içerir. |
| AttestationProtocol |
Kanıtlama Protokolü değerini alır veya ayarlar. |
| Authentication |
Azure SQL kaynaklarına Microsoft Entra ile bağlanma için kullanılan kimlik doğrulama yöntemini alır veya ayarlar. |
| ColumnEncryptionSetting |
Bağlantı dizesi oluşturucusu için sütun şifreleme ayarlarını alır veya ayarlar. |
| CommandTimeout |
Komut yürütme girişimini sonlandırmadan ve hata oluşturmadan önce varsayılan bekleme süresi (saniye cinsinden). Varsayılan değer 30 saniyedir. |
| ConnectionReset |
Geçersiz.
Geçersiz.
Obsolete. Bağlantı havuzundan çekildiğinde bağlantının sıfırlanıp sıfırlandığını belirten bir Boole değeri alır veya ayarlar. |
| ConnectRetryCount |
Boşta bağlantı hatası olduğunu belirledikten sonra denenen yeniden bağlantı sayısı. Bu, 0 ile 255 arasında bir tamsayı olmalıdır. Azure olmayan uç noktalar için varsayılan değer 1'dir. Azure SQL uç noktaları için varsayılan değer 2'dir. 5.x sürümünden başlayarak, Azure SQL sunucusuz veya isteğe bağlı uç noktalar için, boşta veya duraklatılmış bir örneğe yapılan bağlantılarda bağlantı başarısını artırmak için varsayılan değer 5'tir. Boşta bağlantı hatalarında yeniden bağlanmayı devre dışı bırakmak için 0 olarak ayarlayın. ArgumentException, izin verilen aralığın dışında bir değere ayarlanırsa oluşturulur. |
| ConnectRetryInterval |
Boşta bağlantı hatası olduğunu belirledikten sonra her yeniden bağlanma girişimi arasındaki süre (saniye cinsinden). Bu, 1 ile 60 arasında bir tamsayı olmalıdır. Varsayılan değer 10 saniyedir. |
| ConnectTimeout |
Denemeyi sonlandırmadan ve hata oluşturmadan önce sunucu bağlantısını bekleme süresini (saniye cinsinden) alır veya ayarlar. |
| ContextConnection |
Geçersiz.
Obsolete. SQL Server'a bir istemci/sunucu veya işlem içi bağlantı yapılması gerektiğini belirten bir değer alır veya ayarlar. |
| CurrentLanguage |
Veritabanı sunucusu uyarı veya hata iletileri için kullanılan dili alır veya ayarlar.. |
| DataSource |
Bağlanacak SQL Server örneğinin adını veya ağ adresini alır veya ayarlar. |
| EnclaveAttestationUrl |
Kapanım tabanlı Always Encrypted ile kullanılacak kapanım kanıtlama URL'sini alır veya ayarlar. |
| Encrypt |
5.0 sürümünden bu yana bir SqlConnectionEncryptOption değer veya istemci ile sunucu arasında gönderilen tüm veriler için TLS şifrelemesinin gerekli olup olmadığını gösteren önceki sürümler için bir Boolean değer alır veya ayarlar. |
| Enlist |
SQL Server bağlantı havuzunun bağlantıyı oluşturma iş parçacığının geçerli işlem bağlamında otomatik olarak listeleyip listelemediğini gösteren bir Boole değeri alır veya ayarlar. |
| FailoverPartner |
Birincil sunucu çalışmıyorsa bağlanacak iş ortağı sunucusunun adını veya adresini alır veya ayarlar. |
| FailoverPartnerSPN |
Bağlantı için yük devretme ortağının hizmet asıl adını (SPN) alır veya ayarlar. |
| HostNameInCertificate |
Bağlantı için sunucu sertifikası doğrulanırken kullanılacak ana bilgisayar adını alır veya ayarlar. Belirtilmediğinde, 'den |
| IdleTimeout |
Bağlantının atılmadan önce bağlantı havuzunda kullanılmayan (boşta) durabileceği en uzun süreyi saniye cinsinden alır veya ayarlar. Varsayılan değer 300'dür (5 dakika). |
| InitialCatalog |
Bağlantıyla ilişkili veritabanının adını alır veya ayarlar. |
| IntegratedSecurity |
Kullanıcı Kimliği ve Parola'nın bağlantıda (ne zaman |
| IPAddressPreference |
TCP bağlantıları kurarken IP adresi ailesi tercihini alır veya ayarlar. |
| IsFixedSize |
SqlConnectionStringBuilder sabit bir boyuta sahip olup olmadığını gösteren bir değer alır. |
| Item[String] |
Belirtilen anahtarla ilişkili değeri alır veya ayarlar. C# dilinde bu özellik dizin oluşturucudur. |
| Keys |
içindeki ICollectionanahtarları içeren bir SqlConnectionStringBuilder alır. |
| LoadBalanceTimeout |
Bağlantının yok edilmeden önce bağlantı havuzunda yaşaması için en düşük süreyi saniye cinsinden alır veya ayarlar. |
| MaxPoolSize |
Bu belirli bağlantı dizesi için bağlantı havuzunda izin verilen en fazla bağlantı sayısını alır veya ayarlar. |
| MinPoolSize |
Bu özel bağlantı dizesi için bağlantı havuzunda izin verilen en az bağlantı sayısını alır veya ayarlar. |
| MultipleActiveResultSets |
True olduğunda, bir uygulama birden çok etkin sonuç kümesini (MARS) koruyabilir. False olduğunda, uygulamanın bu bağlantıda başka bir toplu işlemi yürütebilmesi için önce bir toplu işlemden tüm sonuç kümelerini işlemesi veya iptal etmesi gerekir. Daha fazla bilgi için bkz . Birden Çok Etkin Sonuç Kümesi (MARS). |
| MultiSubnetFailover |
Uygulamanız farklı alt ağlardaki bir AlwaysOn kullanılabilirlik grubuna (AG) bağlanıyorsa, ayar |
| NetworkLibrary |
SQL Server'a bağlantı kurmak için kullanılan ağ kitaplığının adını içeren bir dize alır veya ayarlar. |
| PacketSize |
SQL Server örneğiyle iletişim kurmak için kullanılan ağ paketlerinin bayt cinsinden boyutunu alır veya ayarlar. |
| Password |
SQL Server hesabının parolasını alır veya ayarlar. |
| PersistSecurityInfo |
Parola veya erişim belirteci gibi güvenlik açısından hassas bilgilerin, bu bağlantı açık durumda olduktan sonra bu SqlConnectionStringBuilder bağlantıyla oluşturulan bir bağlantıda bağlantı dizesi parçası olarak döndürülmesi gerekip gerekmediğini belirten bir Boole değeri alır veya ayarlar. Bu özellik yalnızca uygulamanızın zaten açılmış bir veritabanı bağlantısından parolayı okuması için belirli bir ihtiyacı varsa olarak ayarlanmalıdır |
| PoolBlockingPeriod |
Bağlantı havuzu için engelleme süresi davranışı. |
| Pooling |
Bağlantı her istenildiğinde bağlantının havuza alınıp alınmayacağını veya açıkça açılacağını belirten bir Boole değeri alır veya ayarlar. |
| Replication |
Bağlantı kullanılarak çoğaltmanın desteklenip desteklenmediğini belirten bir Boole değeri alır veya ayarlar. |
| ServerCertificate |
Bir sertifika dosyasının yolunu, bağlantının SQL Server TLS/SSL sertifikasıyla eşleşecek şekilde alır veya ayarlar. Kabul edilen sertifika biçimleri PEM, DER ve CER'tir. Belirtilirse, sağlanan sertifikanın tam eşleşme olup olmadığını |
| ServerSPN |
Veri kaynağının hizmet asıl adını (SPN) alır veya ayarlar. |
| TransactionBinding |
Bağlantının listelenmiş |
| TransparentNetworkIPResolution |
Geçersiz.
.NET Framework'te, bu anahtarın değeri olarak |
| TrustServerCertificate |
Güveni doğrulamak için sertifika zincirinde yürümeyi atlarken kanalın şifrelenip şifrelenmediğini belirten bir değer alır veya ayarlar. |
| TypeSystemVersion |
Uygulamanın beklediği tür sistemini gösteren bir dize değeri alır veya ayarlar. |
| UserID |
SQL Server'a bağlanırken kullanılacak kullanıcı kimliğini alır veya ayarlar. |
| UserInstance |
Bağlantıyı varsayılan SQL Server Express örneğinden çağıranın hesabı altında çalışan çalışma zamanı tarafından başlatılan bir örneğe yeniden yönlendirilip yönlendirilmeyeceğini belirten bir değer alır veya ayarlar. |
| Values |
içindeki SqlConnectionStringBuilder değerleri içeren bir ICollection alır. |
| WorkstationID |
SQL Server'a bağlanan iş istasyonunun adını alır veya ayarlar. |
Yöntemler
| Veri Akışı Adı | Description |
|---|---|
| Clear() |
Örneğin içeriğini SqlConnectionStringBuilder temizler. |
| ContainsKey(String) |
SqlConnectionStringBuilder belirli bir anahtar içerip içermediğini belirler. |
| Remove(String) |
Belirtilen anahtara sahip girişi SqlConnectionStringBuilder örneğinden kaldırır. |
| ShouldSerialize(String) |
Belirtilen anahtarın bu SqlConnectionStringBuilder örneğinde var olup olmadığını gösterir. |
| TryGetValue(String, Object) |
Bu SqlConnectionStringBuilder anahtarından sağlanan anahtara karşılık gelen bir değer alır. |