Aracılığıyla paylaş


SqlConnectionStringBuilder Sınıf

Tanım

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
public sealed class SqlConnectionStringBuilder : System.Data.Common.DbConnectionStringBuilder
[System.ComponentModel.TypeConverter(typeof(System.Data.SqlClient.SqlConnectionStringBuilder+SqlConnectionStringBuilderConverter))]
public sealed class SqlConnectionStringBuilder : System.Data.Common.DbConnectionStringBuilder
type SqlConnectionStringBuilder = class
    inherit DbConnectionStringBuilder
[<System.ComponentModel.TypeConverter(typeof(System.Data.SqlClient.SqlConnectionStringBuilder+SqlConnectionStringBuilderConverter))>]
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ı dizesini oluşturmak için SqlConnectionStringBuilder sınıfını kullanır. Örnek daha sonra bağlantı dizesini ayrıştırarak içeriğini düzenlemenin çeşitli yollarını gösterir.

// Create a new SqlConnectionStringBuilder and
// initialize it with a few name/value pairs.
SqlConnectionStringBuilder builder = new(
    "Server=(local);Integrated Security=true;" +
    "Initial Catalog=AdventureWorks"
    );

// The input connection string used the
// Server key, but the new connection string uses
// the well-known Data Source key instead.
Console.WriteLine($"Original connection string: '{builder.ConnectionString}'");

// Now that the connection string has been parsed,
// you can work with individual items.
Console.WriteLine($"Initial catalog: '{builder.InitialCatalog}'");
builder.InitialCatalog = "Northwind";
builder.AsynchronousProcessing = true;

// 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($"Modified connection string: '{builder.ConnectionString}'");
Imports System.Data.SqlClient

Module Module1
    Sub Main()
        ' Create a new SqlConnectionStringBuilder and
        ' initialize it with a few name/value pairs:
        Dim builder As New SqlConnectionStringBuilder(
            "Server=(local);Integrated Security=true;" &
            "Initial Catalog=AdventureWorks"
            )

        ' The input connection string used the 
        ' Server key, but the new connection string uses
        ' the well-known Data Source key instead.
        Console.WriteLine("Original connection string: " + builder.ConnectionString)

        ' Now that the connection string has been parsed,
        ' you can work with individual items.
        Console.WriteLine("Initial catalog: " + builder.InitialCatalog)
        builder.InitialCatalog = "Northwind"
        builder.AsynchronousProcessing = True

        ' 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

        ' The Item property is the default for the class, 
        ' and setting the Item property adds the value to the 
        ' dictionary, if necessary. 
        builder.Item("Trusted_Connection") = True
        Console.WriteLine("Modified connection string: " + builder.ConnectionString)
    End Sub
End Module

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. Uygulamanızın bir parçası olarak bağlantı dizeleri oluşturmanız gerekiyorsa, bağlantı dizelerini oluşturmak ve değiştirmek için SqlConnectionStringBuilder sınıfını kullanabilirsiniz. sınıfı, bir uygulama yapılandırma dosyasında depolanan bağlantı dizelerini yönetmeyi de kolaylaştırır.

SqlConnectionStringBuilder geçerli 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[String] özelliği veya Remove 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 diğer kabul edilebilir eş anlamlıları belirtebilirsiniz. Kabul edilebilir eş anlamlıların tam listesi için ConnectionString özelliğine bakın.

Item[String] özelliği, kötü amaçlı girdi ekleme girişimlerini işler. Örneğin, aşağıdaki kodda varsayılan Item özelliği (C#'da dizin oluşturucu) kullanıldığında iç içe anahtar/değer çifti doğru şekilde kaçılır:

Dim builder As New System.Data.SqlClient.SqlConnectionStringBuilder
builder("Data Source") = "(local)"
builder("Integrated Security") = True
builder("Initial Catalog") = "AdventureWorks;NewValue=Bad"
Console.WriteLine(builder.ConnectionString)
System.Data.SqlClient.SqlConnectionStringBuilder builder =
  new System.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

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

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

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.

Authentication

Bağlantı dizesinin kimlik doğrulamasını alır.

BrowsableConnectionString

ConnectionString özelliğinin Visual Studio tasarımcılarında görünür olup olmadığını gösteren bir değer alır veya ayarlar.

(Devralındığı yer: DbConnectionStringBuilder)
ColumnEncryptionSetting

Bağlantı dizesi oluşturucusu için sütun şifreleme ayarlarını alır veya ayarlar.

ConnectionReset
Geçersiz.

Eskimiş. 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.

ConnectionString

DbConnectionStringBuilderile ilişkili bağlantı dizesini alır veya ayarlar.

(Devralındığı yer: DbConnectionStringBuilder)
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. Varsayılan değer 1'dir. Boşta bağlantı hatalarında yeniden bağlanmayı devre dışı bırakmak için 0 olarak ayarlayın. İzin verilen aralığın dışındaki bir değere ayarlanırsa bir ArgumentException 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. İzin verilen aralığın dışındaki bir değere ayarlanırsa bir ArgumentException oluşturulur.

ConnectTimeout

Denemeyi sonlandırmadan ve hata oluşturmadan önce sunucu bağlantısını bekleme süresini (saniye cinsinden) alır veya ayarlar.

ContextConnection

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.

Count

ConnectionString özelliği içinde yer alan geçerli anahtar sayısını alır.

(Devralındığı yer: DbConnectionStringBuilder)
CurrentLanguage

SQL Server Dil kayıt adını 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

Sunucuda bir sertifika yüklüyse, SQL Server'ın istemci ile sunucu arasında gönderilen tüm veriler için SSL şifrelemesi kullanıp kullanmadığını belirten bir Boole değeri alır veya ayarlar.

Enlist

SQL Server bağlantı havuzu oluşturucusunun 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.

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 belirtilip belirtilmediğinde (falseolduğunda) veya geçerli Windows hesabı kimlik bilgilerinin kimlik doğrulaması için kullanılıp kullanılmadığını (trueolduğunda) belirten bir Boole değeri alır veya ayarlar.

IsFixedSize

SqlConnectionStringBuilder sabit bir boyuta sahip olup olmadığını gösteren bir değer alır.

IsFixedSize

DbConnectionStringBuilder sabit bir boyuta sahip olup olmadığını gösteren bir değer alır.

(Devralındığı yer: DbConnectionStringBuilder)
IsReadOnly

DbConnectionStringBuilder salt okunur olup olmadığını gösteren bir değer alır.

(Devralındığı yer: DbConnectionStringBuilder)
Item[String]

Belirtilen anahtarla ilişkili değeri alır veya ayarlar. C# dilinde bu özellik dizin oluşturucudur.

Keys

SqlConnectionStringBuilderanahtarları içeren bir ICollection 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 Always On kullanılabilirlik grubuna (AG) veya Always On Yük Devretme Kümesi Örneğine (FCI) bağlanıyorsa, MultiSubnetFailover=true ayarı etkin sunucuya (şu anda) daha hızlı algılama ve bağlantı sağlar. Always On özellikleri 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'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 oluşturulan bir bağlantıda bağlantı dizesinin bir parçası olarak döndürülmesi gerektiğini belirten bir değer alır veya ayarlar.

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.

TransactionBinding

Bağlantının, listelenmiş bir System.Transactions işlemiyle ilişkisini nasıl koruduğunu gösteren bir dize değeri alır veya ayarlar.

TransparentNetworkIPResolution

Bu anahtarın değeri trueolarak ayarlandığında, uygulamanın belirli bir DNS girdisinin tüm IP adreslerini alması ve listedeki ilk ip adresiyle bağlanmayı denemesi gerekir. Bağlantı 0,5 saniye içinde kurulmazsa, uygulama diğer tüm kullanıcılara paralel olarak bağlanmayı dener. İlk yanıtlar verildiğinde, uygulama yanıtlayan IP adresiyle bağlantı kurar.

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

SqlConnectionStringBuilderdeğerlerini içeren bir ICollection alır.

WorkstationID

SQL Server'a bağlanan iş istasyonunun adını alır veya ayarlar.

Yöntemler

Add(String, Object)

DbConnectionStringBuilderbelirtilen anahtar ve değere sahip bir girdi ekler.

(Devralındığı yer: DbConnectionStringBuilder)
Clear()

SqlConnectionStringBuilder örneğinin içeriğini temizler.

ClearPropertyDescriptors()

İlişkili DbConnectionStringBuilderPropertyDescriptor nesneleri koleksiyonunu temizler.

(Devralındığı yer: DbConnectionStringBuilder)
ContainsKey(String)

SqlConnectionStringBuilder belirli bir anahtar içerip içermediğini belirler.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
EquivalentTo(DbConnectionStringBuilder)

Bu DbConnectionStringBuilder nesnesindeki bağlantı bilgilerini sağlanan nesnedeki bağlantı bilgileriyle karşılaştırır.

(Devralındığı yer: DbConnectionStringBuilder)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetProperties(Hashtable)

Sağlanan bir Hashtable bu DbConnectionStringBuildertüm özellikleri hakkında bilgilerle doldurur.

(Devralındığı yer: DbConnectionStringBuilder)
GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
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.

ToString()

Bu DbConnectionStringBuilderile ilişkili bağlantı dizesini döndürür.

(Devralındığı yer: DbConnectionStringBuilder)
TryGetValue(String, Object)

Bu SqlConnectionStringBuildersağlanan anahtara karşılık gelen bir değer alır.

Belirtik Arabirim Kullanımları

ICollection.CopyTo(Array, Int32)

ICollection öğelerini belirli bir Array dizininden başlayarak bir Arraykopyalar.

(Devralındığı yer: DbConnectionStringBuilder)
ICollection.IsSynchronized

ICollection erişimin eşitlenip eşitlenmediğini belirten bir değer alır (iş parçacığı güvenli).

(Devralındığı yer: DbConnectionStringBuilder)
ICollection.SyncRoot

ICollectionerişimini eşitlemek için kullanılabilecek bir nesnesi alır.

(Devralındığı yer: DbConnectionStringBuilder)
ICustomTypeDescriptor.GetAttributes()

Bir bileşenin bu örneği için özel öznitelikler koleksiyonunu döndürür.

(Devralındığı yer: DbConnectionStringBuilder)
ICustomTypeDescriptor.GetClassName()

Bir bileşenin bu örneğinin sınıf adını döndürür.

(Devralındığı yer: DbConnectionStringBuilder)
ICustomTypeDescriptor.GetComponentName()

Bir bileşenin bu örneğinin adını döndürür.

(Devralındığı yer: DbConnectionStringBuilder)
ICustomTypeDescriptor.GetConverter()

Bir bileşenin bu örneği için bir tür dönüştürücü döndürür.

(Devralındığı yer: DbConnectionStringBuilder)
ICustomTypeDescriptor.GetDefaultEvent()

Bir bileşenin bu örneği için varsayılan olayı döndürür.

(Devralındığı yer: DbConnectionStringBuilder)
ICustomTypeDescriptor.GetDefaultProperty()

Bir bileşenin bu örneği için varsayılan özelliği döndürür.

(Devralındığı yer: DbConnectionStringBuilder)
ICustomTypeDescriptor.GetEditor(Type)

Bir bileşenin bu örneği için belirtilen türde bir düzenleyici döndürür.

(Devralındığı yer: DbConnectionStringBuilder)
ICustomTypeDescriptor.GetEvents()

Bir bileşenin bu örneği için olayları döndürür.

(Devralındığı yer: DbConnectionStringBuilder)
ICustomTypeDescriptor.GetEvents(Attribute[])

Belirtilen öznitelik dizisini filtre olarak kullanarak bir bileşenin bu örneği için olayları döndürür.

(Devralındığı yer: DbConnectionStringBuilder)
ICustomTypeDescriptor.GetProperties()

Bir bileşenin bu örneğinin özelliklerini döndürür.

(Devralındığı yer: DbConnectionStringBuilder)
ICustomTypeDescriptor.GetProperties(Attribute[])

Öznitelik dizisini filtre olarak kullanarak bir bileşenin bu örneğinin özelliklerini döndürür.

(Devralındığı yer: DbConnectionStringBuilder)
ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor)

Belirtilen özellik tanımlayıcısı tarafından açıklanan özelliği içeren bir nesne döndürür.

(Devralındığı yer: DbConnectionStringBuilder)
IDictionary.Add(Object, Object)

IDictionary nesnesine sağlanan anahtar ve değere sahip bir öğe ekler.

(Devralındığı yer: DbConnectionStringBuilder)
IDictionary.Contains(Object)

IDictionary nesnesinin belirtilen anahtara sahip bir öğe içerip içermediğini belirler.

(Devralındığı yer: DbConnectionStringBuilder)
IDictionary.GetEnumerator()

IDictionary nesnesi için bir IDictionaryEnumerator nesnesi döndürür.

(Devralındığı yer: DbConnectionStringBuilder)
IDictionary.IsFixedSize

IDictionary nesnesinin sabit bir boyuta sahip olup olmadığını gösteren bir değer alır.

(Devralındığı yer: DbConnectionStringBuilder)
IDictionary.IsReadOnly

IDictionary salt okunur olup olmadığını gösteren bir değer alır.

(Devralındığı yer: DbConnectionStringBuilder)
IDictionary.Item[Object]

Belirtilen anahtarla öğesini alır veya ayarlar.

(Devralındığı yer: DbConnectionStringBuilder)
IDictionary.Remove(Object)

belirtilen anahtara sahip öğesini IDictionary nesnesinden kaldırır.

(Devralındığı yer: DbConnectionStringBuilder)
IEnumerable.GetEnumerator()

Bir koleksiyonda yineleyen bir numaralandırıcı döndürür.

(Devralındığı yer: DbConnectionStringBuilder)

Uzantı Metotları

Cast<TResult>(IEnumerable)

Bir IEnumerable öğelerini belirtilen türe yayınlar.

OfType<TResult>(IEnumerable)

Bir IEnumerable öğelerini belirtilen türe göre filtreler.

AsParallel(IEnumerable)

Sorgunun paralelleştirilmesini etkinleştirir.

AsQueryable(IEnumerable)

bir IEnumerableIQueryabledönüştürür.

Şunlara uygulanır

Ayrıca bkz.