Aracılığıyla paylaş


DbConnectionStringBuilder Sınıf

Tanım

Kesin olarak yazılan bağlantı dizesi oluşturucuları için bir temel sınıf sağlar.

public ref class DbConnectionStringBuilder : System::Collections::IDictionary
public ref class DbConnectionStringBuilder : System::Collections::IDictionary, System::ComponentModel::ICustomTypeDescriptor
public class DbConnectionStringBuilder : System.Collections.IDictionary
public class DbConnectionStringBuilder : System.Collections.IDictionary, System.ComponentModel.ICustomTypeDescriptor
type DbConnectionStringBuilder = class
    interface ICollection
    interface IEnumerable
    interface IDictionary
type DbConnectionStringBuilder = class
    interface ICollection
    interface IEnumerable
    interface IDictionary
    interface ICustomTypeDescriptor
type DbConnectionStringBuilder = class
    interface IDictionary
    interface ICollection
    interface IEnumerable
    interface ICustomTypeDescriptor
Public Class DbConnectionStringBuilder
Implements IDictionary
Public Class DbConnectionStringBuilder
Implements ICustomTypeDescriptor, IDictionary
Devralma
DbConnectionStringBuilder
Türetilmiş
Uygulamalar

Örnekler

Aşağıdaki konsol uygulaması biri Microsoft Jet veritabanı, diğeri de SQL Server veritabanı için olmak üzere iki bağlantı dizesi oluşturur. Her durumda kod, bağlantı dizesini oluşturmak için genel bir DbConnectionStringBuilder sınıfı kullanır ve ardından DbConnectionStringBuilder örneğinin ConnectionString özelliğini kesin olarak türü belirlenmiş bağlantı sınıfının oluşturucusunda geçirir. Bu gerekli değildir; kod, tek tek kesin olarak türü belirlenmiş bağlantı dizesi oluşturucu örnekleri de oluşturmuş olabilir. Örnek ayrıca var olan bir bağlantı dizesini ayrıştırarak bağlantı dizesinin içeriğini düzenlemenin çeşitli yollarını gösterir.

DbConnectionStringBuilder builder =
    new DbConnectionStringBuilder();
builder.ConnectionString = @"Data Source=c:\MyData\MyDb.mdb";
builder.Add("Provider", "Microsoft.Jet.Oledb.4.0");
// Set up row-level locking.
builder.Add("Jet OLEDB:Database Locking Mode", 1);

// The DbConnectionStringBuilder class
// is database agnostic, so it's possible to
// build any type of connection string using
// this class.

// The ConnectionString property might have been
// formatted by the DbConnectionStringBuilder class.
OleDbConnection oledbConnect = new
    OleDbConnection(builder.ConnectionString);
Console.WriteLine(oledbConnect.ConnectionString);

// Use the same DbConnectionStringBuilder to create
// a SqlConnection object.
builder.Clear();
builder.Add("integrated security", true);
builder.Add("Initial Catalog", "AdventureWorks");
builder.Add("Data Source", "(local)");

SqlConnection sqlConnect = new
    SqlConnection(builder.ConnectionString);
Console.WriteLine(sqlConnect.ConnectionString);

// Pass the DbConnectionStringBuilder an existing
// connection string, and you can retrieve and
// modify any of the elements.
builder.ConnectionString = "server=(local);initial catalog=AdventureWorks";
builder["Server"] = ".";

// Setting the indexer adds the value, if necessary.
builder["Integrated Security"] = true;
Console.WriteLine(builder.ConnectionString);
Sub Main()
    Dim builder As New DbConnectionStringBuilder()
    builder.ConnectionString = "Data Source=c:\MyData\MyDb.mdb"
    builder.Add("Provider", "Microsoft.Jet.Oledb.4.0")

    ' Set up row-level locking.
    builder.Add("Jet OLEDB:Database Locking Mode", 1)

    ' Note that the DbConnectionStringBuilder class
    ' is database agnostic, and it's possible to
    ' build any type of connection string using
    ' this class.
    ' Notice that the ConnectionString property may have been
    ' formatted by the DbConnectionStringBuilder class.

    Dim oledbConnect As New _
        OleDbConnection(builder.ConnectionString)
    Console.WriteLine(oledbConnect.ConnectionString)

    ' Use the same DbConnectionStringBuilder to create
    ' a SqlConnection object.
    builder.Clear()
    builder.Add("integrated security", True)
    builder.Add("Initial Catalog", "AdventureWorks")
    builder.Add("Data Source", "(local)")

    Dim sqlConnect As New SqlConnection(builder.ConnectionString)
    Console.WriteLine(sqlConnect.ConnectionString)

    ' Pass the DbConnectionStringBuilder an existing
    ' connection string, and you can retrieve and
    ' modify any of the elements.
    builder.ConnectionString = "server=(local);initial catalog=AdventureWorks"
    builder.Item("Server") = "."

    ' The Item property is the default for the class,
    ' and setting the Item property adds the value if
    ' necessary.
    builder("Integrated Security") = True
    Console.WriteLine(builder.ConnectionString)

    Console.WriteLine("Press Enter to finish.")
    Console.ReadLine()
End Sub

Açıklamalar

DbConnectionStringBuilder sınıfı, kesin olarak yazılan bağlantı dizesi oluşturucularının (SqlConnectionStringBuilder, OleDbConnectionStringBuildervb.) türetildiği temel sınıfı sağlar. Bağlantı dizesi oluşturucuları, geliştiricilerin program aracılığıyla el dizimsel olarak doğru bağlantı dizeleri oluşturmasına ve mevcut bağlantı dizelerini ayrıştırıp yeniden oluşturmasına olanak sağlar.

DbConnectionStringBuilder, veritabanı belirsiz bir şekilde tanımlanmıştır. System.Data.Common ad alanının eklenmesi nedeniyle geliştiriciler, rastgele bir veritabanında çalışabilen bağlantı dizeleri oluşturmak için programlanabilecekleri bir temel sınıf gerektirir. Bu nedenle, DbConnectionStringBuilder sınıfı kullanıcıların rastgele anahtar/değer çiftleri atamasına ve sonuçta elde edilen bağlantı dizesini kesin olarak belirlenmiş bir sağlayıcıya geçirmesine olanak tanır. .NET'in bir parçası olarak dahil edilen tüm veri sağlayıcıları, DbConnectionStringBuilderdevralan kesin olarak belirlenmiş bir sınıf sunar: SqlConnectionStringBuilder, OracleConnectionStringBuilder, OdbcConnectionStringBuilderve OleDbConnectionStringBuilder.

Herhangi bir rastgele sağlayıcı için bağlantı dizeleri oluşturabilir, atayabilir ve düzenleyebilirsiniz. Belirli anahtar/değer çiftlerini destekleyen sağlayıcılar için bağlantı dizesi oluşturucusu, bilinen çiftlere karşılık gelen kesin olarak belirlenmiş özellikler sağlar. Bilinmeyen değerleri destekleme olanağı gerektiren sağlayıcılar için rastgele anahtar/değer çiftleri de sağlayabilirsiniz.

DbConnectionStringBuilder sınıfı ICustomTypeDescriptor arabirimini uygular. Bu, sınıfın tasarım zamanında Visual Studio tasarımcılarıyla çalıştığı anlamına gelir. Geliştiriciler Visual Studio'da kesin olarak yazılan DataSet'ler ve kesin olarak yazılan bağlantılar oluşturmak için tasarımcıyı kullandığında, kesin olarak yazılan bağlantı dizesi oluşturucu sınıfı türüyle ilişkili özellikleri görüntüler ve ayrıca bilinen anahtarlar için ortak değerleri eşleyebilecek dönüştürücülere sahiptir.

Uygulamaların bir parçası olarak bağlantı dizeleri oluşturmanız gerekiyorsa, bağlantı dizelerini oluşturmak ve değiştirmek için DbConnectionStringBuilder sınıfını veya kesin olarak türü belirlenmiş türevlerinden birini kullanın. DbConnectionStringBuilder sınıfı, bir uygulama yapılandırma dosyasında depolanan bağlantı dizelerini yönetmeyi de kolaylaştırır.

Kesin olarak belirlenmiş bir bağlantı dizesi oluşturucu sınıfını veya DbConnectionStringBuilder sınıfını kullanarak bağlantı dizeleri oluşturabilirsiniz. DbConnectionStringBuilder geçerli anahtar/değer çiftleri için denetim gerçekleştirmez. Bu nedenle, bu sınıfı kullanırken geçersiz bağlantı dizeleri oluşturmak mümkündür. SqlConnectionStringBuilder yalnızca SQL Server tarafından desteklenen anahtar/değer çiftlerini destekler; Geçersiz çiftler eklemeye çalışılırsa bir özel durum oluşturulur.

Hem Add yöntemi hem de Item[] özelliği, kötü amaçlı bir aktörün kötü amaçlı girişler eklemeye çalıştığı durumları işler. Örneğin, aşağıdaki kod iç içe anahtar/değer çiftinden doğru şekilde çıkış yapar:

Dim builder As New System.Data.Common.DbConnectionStringBuilder
builder("Data Source") = "(local)"
builder("integrated sSecurity") = True
builder("Initial Catalog") = "AdventureWorks;NewValue=Bad"
System.Data.Common.DbConnectionStringBuilder builder = new System.Data.Common.DbConnectionStringBuilder();
builder["Data Source"] = "(local)";
builder["integrated Security"] = true;
builder["Initial Catalog"] = "AdventureWorks;NewValue=Bad";

Sonuç, geçersiz değeri güvenli bir şekilde işleyen aşağıdaki bağlantı dizesidir:

data source=(local);integrated security=True;
initial catalog="AdventureWorks;NewValue=Bad"

Oluşturucular

DbConnectionStringBuilder()

DbConnectionStringBuilder sınıfının yeni bir örneğini başlatır.

DbConnectionStringBuilder(Boolean)

İsteğe bağlı olarak değerleri alıntılama için ODBC kurallarını kullanarak DbConnectionStringBuilder sınıfının yeni bir örneğini başlatır.

Özellikler

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.

ConnectionString

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

Count

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

IsFixedSize

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

IsReadOnly

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

Item[String]

Belirtilen anahtarla ilişkili değeri alır veya ayarlar.

Keys

DbConnectionStringBuilderanahtarları içeren bir ICollection alır.

Values

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

Yöntemler

Add(String, Object)

DbConnectionStringBuilderbelirtilen anahtar ve değere sahip bir girdi ekler.

AppendKeyValuePair(StringBuilder, String, String, Boolean)

Mevcut bir StringBuilder nesnesine anahtar ve değer eklemek için verimli ve güvenli bir yol sağlar.

AppendKeyValuePair(StringBuilder, String, String)

Mevcut bir StringBuilder nesnesine anahtar ve değer eklemek için verimli ve güvenli bir yol sağlar.

Clear()

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

ClearPropertyDescriptors()

İlişkili DbConnectionStringBuilderPropertyDescriptor nesneleri koleksiyonunu temizler.

ContainsKey(String)

DbConnectionStringBuilder 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.

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.

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 DbConnectionStringBuilder örneğinden kaldırır.

ShouldSerialize(String)

Belirtilen anahtarın bu DbConnectionStringBuilder örneğinde var olup olmadığını gösterir.

ToString()

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

TryGetValue(String, Object)

Bu DbConnectionStringBuildersağ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.

ICollection.IsSynchronized

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

ICollection.SyncRoot

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

ICustomTypeDescriptor.GetAttributes()

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

ICustomTypeDescriptor.GetClassName()

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

ICustomTypeDescriptor.GetComponentName()

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

ICustomTypeDescriptor.GetConverter()

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

ICustomTypeDescriptor.GetDefaultEvent()

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

ICustomTypeDescriptor.GetDefaultProperty()

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

ICustomTypeDescriptor.GetEditor(Type)

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

ICustomTypeDescriptor.GetEvents()

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

ICustomTypeDescriptor.GetEvents(Attribute[])

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

ICustomTypeDescriptor.GetProperties()

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

ICustomTypeDescriptor.GetProperties(Attribute[])

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

ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor)

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

IDictionary.Add(Object, Object)

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

IDictionary.Contains(Object)

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

IDictionary.GetEnumerator()

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

IDictionary.IsFixedSize

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

IDictionary.IsReadOnly

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

IDictionary.Item[Object]

Belirtilen anahtarla öğesini alır veya ayarlar.

IDictionary.Remove(Object)

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

IEnumerable.GetEnumerator()

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

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.