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.
sınıfı tarafından SqlConnection 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şturucusununa geçirirConnectionString. Örnek ayrıca mevcut bir bağlantı dizesi ayrıştırarak bağlantı dizesi içeriğini düzenlemenin çeşitli yollarını gösterir.
Not
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. Bir 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= 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";
}
}
Açıklamalar
bağlantı dizesi oluşturucusu, geliştiricilerin programlama yoluyla el değmemiş şekilde 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ışmak bir özel durum oluşturur. sınıfı, sabit bir eş anlamlılar koleksiyonu tutar ve bir 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, bağlantı dizesi içinde bu anahtar için "Ağ Adresi", "ekleyici" veya Remove kabul edilebilir başka bir eş anlamlı belirtebilirsiniz. ConnectionString Kabul edilebilir eş anlamlıların tam listesi için özelliğine bakın.
Item özellik tanıtıcıları kötü amaçlı girişler eklemeye çalışır. Örneğin, varsayılan Item özelliğinin (C#'de dizin oluşturucu) kullanıldığı aşağıdaki kod, iç içe anahtar/değer çiftinden doğru şekilde çıkış yapar:
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ı dizesi olur:
Source=(local);Initial Catalog="AdventureWorks;NewValue=Bad";
Integrated Security=True
Oluşturucular
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ı bilgilerine ilişkin verileri sağlar. |
Özellikler
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 ile ApplicationIntentayarlayabilirsiniz. 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ı dizesi ile ilişkili uygulamanın adını alır veya ayarlar. |
AsynchronousProcessing |
Geçersiz.
Kullanımdan kalktı. 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 Active Directory Kimlik Doğrulamasını Kullanarak SQL Veritabanı 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.
Kullanımdan kalktı. 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. Sunucusuz veya isteğe bağlı Azure SQL uç noktaları için 5.x sürümünden başlayarak, boşta veya duraklatılmış bir örneğe yapılan bağlantıların 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 İzin verilen aralığın dışında bir değere ayarlanırsa bir oluşturulur. |
ConnectRetryInterval |
Boşta bağlantı hatası olduğunu belirledikten sonra her yeniden bağlantı girişimi arasındaki süre (saniye olarak). 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ın beklenmesi için gereken süreyi (saniye cinsinden) alır veya ayarlar. |
ContextConnection |
Geçersiz.
Kullanımdan kalktı. SQL Server için 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ısı 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 kullanılacak kapanım kanıtlama URL'sini alır veya ayarlar. |
Encrypt |
Sürüm 5.0'dan bu yana bir SqlConnectionEncryptOption değer veya önceki sürümler için istemci ile sunucu arasında gönderilen tüm veriler için TLS şifrelemesinin gerekli olup olmadığını belirten bir Boolean değer alır veya ayarlar. |
Enlist |
SQL Server bağlantı havuzu oluşturucunun bağlantıyı oluşturma iş parçacığının geçerli işlem bağlamında otomatik olarak listeleyip listelemediğini belirten 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 |
InitialCatalog |
Bağlantıyla ilişkili veritabanının adını alır veya ayarlar. |
IntegratedSecurity |
Bağlantıda Kullanıcı Kimliği ve Parola'nın belirtilip belirtilmediğinde (ne zaman |
IPAddressPreference |
TCP bağlantıları kurarken IP adresi ailesi tercihini alır veya ayarlar. |
IsFixedSize |
sabit bir boyuta sahip olup olmadığını SqlConnectionStringBuilder 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 SqlConnectionStringBuilderanahtarları içeren bir ICollection alır. |
LoadBalanceTimeout |
Bağlantının yok edilmeden önce bağlantı havuzunda yaşaması için saniye cinsinden en düşük süreyi alır veya ayarlar. |
MaxPoolSize |
Bu özel 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 bir toplu işteki 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, MultiSubnetFailover=true ayarı etkin sunucu için daha hızlı algılama ve bağlantı sağlar. 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. |
NetworkLibrary |
SQL Server 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ıdaki bağlantı dizesi parçası olarak döndürülmesi gerektiğini belirten bir Boole değeri alır veya ayarlar. Bu özellik yalnızca uygulamanızın zaten açık olan 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 |
Bağlantı için SQL Server TLS/SSL sertifikasıyla eşleşecek şekilde bir sertifika dosyasının yolunu alır veya ayarlar. Kabul edilen sertifika biçimleri PEM, DER ve CER'tir. Belirtilirse, sağlanan sertifikanın tam olarak eşleşip eşleşmediği |
ServerSPN |
Veri kaynağının hizmet asıl adını (SPN) alır veya ayarlar. |
TransactionBinding |
Bağlantının listelenmiş |
TransparentNetworkIPResolution |
Bu anahtarın değeri olarak ayarlandığında |
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 bağlanırken kullanılacak kullanıcı kimliğini alır veya ayarlar. |
UserInstance |
Bağlantının varsayılan SQL Server Express örneğinden çağıranın hesabı altında çalışan çalışma zamanı tarafından başlatılan örneğe yönlendirilip yönlendirilmeyeceğini belirten bir değer alır veya ayarlar. |
Values |
içindeki SqlConnectionStringBuilderdeğerleri içeren bir ICollection alır. |
WorkstationID |
SQL Server bağlanan iş istasyonunun adını alır veya ayarlar. |
Yöntemler
Clear() |
Örneğin içeriğini SqlConnectionStringBuilder temizler. |
ContainsKey(String) |
öğesinin SqlConnectionStringBuilder belirli bir anahtar içerip içermediğini belirler. |
Remove(String) |
Belirtilen anahtara sahip girişi örnekten SqlConnectionStringBuilder kaldırır. |
ShouldSerialize(String) |
Belirtilen anahtarın bu SqlConnectionStringBuilder örnekte var olup olmadığını gösterir. |
TryGetValue(String, Object) |
Bu SqlConnectionStringBuilderanahtarından sağlanan anahtara karşılık gelen bir değeri alır. |