DbConnectionStringBuilder Klasse

Definition

Stellt eine Basisklasse für stark typisierte Verbindungszeichenfolgen-Generatoren bereit.Provides a base class for strongly typed connection string builders.

public ref class DbConnectionStringBuilder : System::Collections::IDictionary, System::ComponentModel::ICustomTypeDescriptor
public class DbConnectionStringBuilder : System.Collections.IDictionary, System.ComponentModel.ICustomTypeDescriptor
type DbConnectionStringBuilder = class
    interface IDictionary
    interface ICustomTypeDescriptor
    interface ICollection
    interface IEnumerable
Public Class DbConnectionStringBuilder
Implements ICustomTypeDescriptor, IDictionary
Vererbung
DbConnectionStringBuilder
Abgeleitet
Implementiert

Beispiele

Die folgende Konsolenanwendung erstellt zwei Verbindungs Zeichenfolgen, eine für eine Microsoft Jet-Datenbank und eine für eine SQL Server Datenbank.The following console application builds two connection strings, one for a Microsoft Jet database, and one for a SQL Server database. In jedem Fall verwendet der Code eine generische DbConnectionStringBuilder Klasse, um die Verbindungs Zeichenfolge zu erstellen, und übergibt dann die DbConnectionStringBuilder ConnectionString -Eigenschaft der-Instanz an den Konstruktor der Verbindungs Klasse mit starkem Typ.In each case, the code uses a generic DbConnectionStringBuilder class to create the connection string, and then passes the ConnectionString property of the DbConnectionStringBuilder instance to the constructor of the strongly type connection class. Dies ist nicht erforderlich. der Code kann auch einzelne stark typisierte Verbindungs Zeichenfolgen-Generator-Instanzen erstellen.This is not required; the code could also have created individual strongly typed connection string builder instances. Im Beispiel wird auch eine vorhandene Verbindungs Zeichenfolge analysiert, und es werden verschiedene Möglichkeiten zum Bearbeiten der Inhalte der Verbindungs Zeichenfolge veranschaulicht.The example also parses an existing connection string, and demonstrates various ways of manipulating the connection string's contents.

static void Main()
{
    DbConnectionStringBuilder builder =
        new DbConnectionStringBuilder();
    builder.ConnectionString = @"Data Source=c:\MyData\MyDb.mdb";
    builder.Add("Provider", "Microsoft.Jet.Oledb.4.0");
    builder.Add("Jet OLEDB:Database Password", "*******");
    builder.Add("Jet OLEDB:System Database",
        @"c:\MyData\Workgroup.mdb");
    // 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 may 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);user id=*******;" +
        "password=*******;initial catalog=AdventureWorks";
    builder["Server"] = ".";
    builder.Remove("User ID");

    // Note that calling Remove on a nonexistent item doesn't
    // throw an exception.
    builder.Remove("BadItem");

    // Setting the indexer adds the value if 
    // necessary.
    builder["Integrated Security"] = true;
    builder.Remove("password");
    builder["User ID"] = "Hello";
    Console.WriteLine(builder.ConnectionString);

    Console.WriteLine("Press Enter to finish.");
    Console.ReadLine();
}
Sub Main()
    Dim builder As New DbConnectionStringBuilder()
    builder.ConnectionString = "Data Source=c:\MyData\MyDb.mdb"
    builder.Add("Provider", "Microsoft.Jet.Oledb.4.0")
    builder.Add("Jet OLEDB:Database Password", "*******")
    builder.Add("Jet OLEDB:System Database", _
        "c:\MyData\Workgroup.mdb")

    ' 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);user id=*******;" & _
        "password=*******;initial catalog=AdventureWorks"
    builder.Item("Server") = "."
    builder.Remove("User ID")

    ' Note that calling Remove on a nonexistent item doesn't
    ' throw an exception.
    builder.Remove("BadItem")

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

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

Hinweise

Die DbConnectionStringBuilder -Klasse stellt die Basisklasse bereit, von der die stark typisiertenSqlConnectionStringBuilderVerbindungs OleDbConnectionStringBuilderZeichenfolgen-Generatoren (, usw.) abgeleitet werden.The DbConnectionStringBuilder class provides the base class from which the strongly typed connection string builders (SqlConnectionStringBuilder, OleDbConnectionStringBuilder, and so on) derive. Mit den Verbindungs Zeichenfolgen-Generatoren können Entwicklerprogramm gesteuert syntaktisch korrekte Verbindungs Zeichenfolgen erstellen und vorhandene Verbindungs Zeichenfolgen analysieren und neu erstellen.The connection string builders let developers programmatically create syntactically correct connection strings, and parse and rebuild existing connection strings.

Der DbConnectionStringBuilder wurde in einer Daten Bank agnostischen Weise definiert.The DbConnectionStringBuilder has been defined in a database-agnostic manner. Aufgrund des Hinzufügens des System.Data.Common -Namespace benötigen Entwickler eine Basisklasse, für die Sie programmieren können, um Verbindungs Zeichenfolgen zu erstellen, die für eine beliebige Datenbank verwendet werden können.Because of the addition of the System.Data.Common namespace, developers require a base class against which they can program in order to build connection strings that can work against an arbitrary database. Daher können Benutzer DbConnectionStringBuilder mit der-Klasse beliebige Schlüssel-Wert-Paare zuweisen und die resultierende Verbindungs Zeichenfolge an einen stark typisierten Anbieter übergeben.Therefore, the DbConnectionStringBuilder class lets users assign arbitrary key/value pairs and pass the resulting connection string to a strongly typed provider. Alle Datenanbieter, die als Teil des-.NET Framework enthalten sind, stellen eine stark typisierte Klasse bereit, DbConnectionStringBuilderdie SqlConnectionStringBuildervon OracleConnectionStringBuildererbt: OleDbConnectionStringBuilder,, OdbcConnectionStringBuilderund.All the data providers that are included as part of the .NET Framework provide a strongly typed class that inherits from DbConnectionStringBuilder: SqlConnectionStringBuilder, OracleConnectionStringBuilder, OdbcConnectionStringBuilder, and OleDbConnectionStringBuilder.

Der Entwickler kann Verbindungs Zeichenfolgen für beliebige Anbieter erstellen, zuweisen und bearbeiten.The developer can build, assign, and edit connection strings for any arbitrary provider. Für Anbieter, die bestimmte Schlüssel/Wert-Paare unterstützen, stellt der Verbindungs Zeichenfolgen-Generator stark typisierte Eigenschaften bereit, die den bekannten Paaren entsprechen.For providers that support specific key/value pairs, the connection string builder provides strongly typed properties corresponding to the known pairs. Um Anbieter zu unterstützen, die die Möglichkeit haben, unbekannte Werte zu unterstützen, können Entwickler auch beliebige Schlüssel-Wert-Paare bereitstellen.In order to support providers that require the ability to support unknown values, developers can also supply arbitrary key/value pairs.

Die DbConnectionStringBuilder-Klasse implementiert die ICustomTypeDescriptor-Schnittstelle.The DbConnectionStringBuilder class implements the ICustomTypeDescriptor interface. Dies bedeutet, dass die-Klasse zur Entwurfszeit mit Visual Studio-Designern arbeitet.This means that the class works with Visual Studio designers at design time. Wenn Entwickler mit dem Designer stark typisierte Datasets und stark typisierte Verbindungen innerhalb von Visual Studio erstellen, zeigt die Klasse mit den stark typisierten Verbindungs Zeichenfolgen-Generators die Eigenschaften an, die dem Typ zugeordnet sind, und verfügt außerdem über Konverter, die Ordnen Sie allgemeine Werte für bekannte Schlüssel zu.When developers use the designer to build strongly typed DataSets and strongly typed connections within Visual Studio, the strongly typed connection string builder class will display the properties associated with its type and will also have converters that can map common values for known keys.

Entwickler, die Verbindungs Zeichenfolgen als Teil von Anwendungen erstellen müssen DbConnectionStringBuilder , können die-Klasse oder eines der stark typisierten Ableitungen zum Erstellen und Ändern von Verbindungs Zeichenfolgen verwenden.Developers needing to create connection strings as part of applications can use the DbConnectionStringBuilder class or one of its strongly typed derivatives to build and modify connection strings. Mit DbConnectionStringBuilder der-Klasse können auch in einer Anwendungs Konfigurationsdatei gespeicherte Verbindungs Zeichenfolgen problemlos verwaltet werden.The DbConnectionStringBuilder class also makes it easy to manage connection strings stored in an application configuration file.

Entwickler können Verbindungs Zeichenfolgen mit einer stark typisierten Verbindungs Zeichenfolgen-Generator Klasse erstellen, DbConnectionStringBuilder oder Sie können die-Klasse verwenden.Developers can create connection strings using either a strongly typed connection string builder class, or they can use the DbConnectionStringBuilder class. DbConnectionStringBuilder Führt keine Überprüfungen auf gültige Schlüssel-Wert-Paare aus.The DbConnectionStringBuilder performs no checks for valid key/value pairs. Daher ist es mit dieser Klasse möglich, ungültige Verbindungszeichenfolgen zu erstellen.Therefore, it is possible using this class to create invalid connection strings. SqlConnectionStringBuilder Unterstützt nur Schlüssel-Wert-Paare, die von SQL Server unterstützt werden. Wenn Sie versuchen, ungültige Paare hinzuzufügen, wird eine Ausnahme ausgelöst.The SqlConnectionStringBuilder supports only key/value pairs that are supported by SQL Server; trying to add invalid pairs will throw an exception.

Sowohl die Add Methode als Item[String] auch das Eigenschaften handle versuchen, schädliche Einträge einzufügen.Both the Add method and Item[String] property handle tries to insert malicious entries. Der folgende Code schützt z. b. ordnungsgemäß das Schlüssel-Wert-Paar aus dem Paar:For example, the following code correctly escapes the nested key/value pair:

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";  

Das Ergebnis ist die folgende Verbindungszeichenfolge, die den ungültigen Wert sicher behandelt:The result is the following connection string that handles the invalid value in a safe manner:

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

Konstruktoren

DbConnectionStringBuilder()

Initialisiert eine neue Instanz der DbConnectionStringBuilder-Klasse.Initializes a new instance of the DbConnectionStringBuilder class.

DbConnectionStringBuilder(Boolean)

Initialisiert eine neue Instanz der DbConnectionStringBuilder-Klasse, wobei optional ODBC-Regeln zum Zitieren von Werten verwendet werden.Initializes a new instance of the DbConnectionStringBuilder class, optionally using ODBC rules for quoting values.

Eigenschaften

BrowsableConnectionString

Ruft einen Wert ab, der angibt, ob die ConnectionString-Eigenschaft in Visual Studio-Designern sichtbar ist, oder legt diesen fest.Gets or sets a value that indicates whether the ConnectionString property is visible in Visual Studio designers.

ConnectionString

Ruft die Verbindungszeichenfolge ab, die dem DbConnectionStringBuilder zugeordnet ist, oder legt diese fest.Gets or sets the connection string associated with the DbConnectionStringBuilder.

Count

Ruft die aktuelle Anzahl von Schlüsseln ab, die innerhalb der ConnectionString-Eigenschaft enthalten sind.Gets the current number of keys that are contained within the ConnectionString property.

IsFixedSize

Ruft einen Wert ab, der angibt, ob die DbConnectionStringBuilder eine feste Größe hat.Gets a value that indicates whether the DbConnectionStringBuilder has a fixed size.

IsReadOnly

Ruft einen Wert ab, der angibt, ob die DbConnectionStringBuilder schreibgeschützt ist.Gets a value that indicates whether the DbConnectionStringBuilder is read-only.

Item[String]

Ruft den Wert ab, der dem angegebenen Schlüssel zugeordnet ist, oder legt diesen fest.Gets or sets the value associated with the specified key.

Keys

Ruft eine ICollection ab, die die Schlüssel im DbConnectionStringBuilder enthält.Gets an ICollection that contains the keys in the DbConnectionStringBuilder.

Values

Ruft ein ICollection ab, das die Werte im DbConnectionStringBuilder enthält.Gets an ICollection that contains the values in the DbConnectionStringBuilder.

Methoden

Add(String, Object)

Fügt dem DbConnectionStringBuilder einen Eintrag mit dem angegebenen Schlüssel und Wert hinzu.Adds an entry with the specified key and value into the DbConnectionStringBuilder.

AppendKeyValuePair(StringBuilder, String, String)

Bietet eine effiziente und sichere Möglichkeit, einen Schlüssel und Wert an ein vorhandenes StringBuilder-Objekt anzufügen.Provides an efficient and safe way to append a key and value to an existing StringBuilder object.

AppendKeyValuePair(StringBuilder, String, String, Boolean)

Bietet eine effiziente und sichere Möglichkeit, einen Schlüssel und Wert an ein vorhandenes StringBuilder-Objekt anzufügen.Provides an efficient and safe way to append a key and value to an existing StringBuilder object.

Clear()

Löscht den Inhalt der DbConnectionStringBuilder-Instanz.Clears the contents of the DbConnectionStringBuilder instance.

ClearPropertyDescriptors()

Löscht die Auflistung von PropertyDescriptor-Objekten, die dem DbConnectionStringBuilder zugeordnet sind.Clears the collection of PropertyDescriptor objects on the associated DbConnectionStringBuilder.

ContainsKey(String)

Stellt fest, ob der DbConnectionStringBuilder einen bestimmten Schlüssel enthält.Determines whether the DbConnectionStringBuilder contains a specific key.

Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Geerbt von Object)
EquivalentTo(DbConnectionStringBuilder)

Vergleicht die Verbindungsinformationen in diesem DbConnectionStringBuilder-Objekt mit den Verbindungsinformationen im angegebenen Objekt.Compares the connection information in this DbConnectionStringBuilder object with the connection information in the supplied object.

GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Geerbt von Object)
GetProperties(Hashtable)

Füllt eine angegebene Hashtable mit Informationen zu allen Eigenschaften dieses DbConnectionStringBuilder.Fills a supplied Hashtable with information about all the properties of this DbConnectionStringBuilder.

GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
Remove(String)

Entfernt den Eintrag mit dem angegebenen Schlüssel aus der DbConnectionStringBuilder-Instanz.Removes the entry with the specified key from the DbConnectionStringBuilder instance.

ShouldSerialize(String)

Gibt an, ob der angegebene Schlüssel in dieser DbConnectionStringBuilder-Instanz vorhanden ist.Indicates whether the specified key exists in this DbConnectionStringBuilder instance.

ToString()

Gibt die diesem DbConnectionStringBuilder zugeordnete Verbindungszeichenfolge zurück.Returns the connection string associated with this DbConnectionStringBuilder.

TryGetValue(String, Object)

Ruft einen Wert ab, der dem von diesem DbConnectionStringBuilder bereitgestellten Schlüssel entspricht.Retrieves a value corresponding to the supplied key from this DbConnectionStringBuilder.

Explizite Schnittstellenimplementierungen

ICollection.CopyTo(Array, Int32)

Kopiert die Elemente der ICollection in ein Array, beginnend bei einem bestimmten Array-Index.Copies the elements of the ICollection to an Array, starting at a particular Array index.

ICollection.IsSynchronized

Ruft einen Wert ab, der angibt, ob der Zugriff auf die ICollection synchronisiert (threadsicher) ist.Gets a value indicating whether access to the ICollection is synchronized (thread safe).

ICollection.SyncRoot

Ruft ein Objekt ab, mit dem der Zugriff auf ICollection synchronisiert werden kann.Gets an object that can be used to synchronize access to the ICollection.

ICustomTypeDescriptor.GetAttributes()

Gibt eine Auflistung benutzerdefinierter Attribute für diese Instanz einer Komponente zurück.Returns a collection of custom attributes for this instance of a component.

ICustomTypeDescriptor.GetClassName()

Gibt den Klassennamen dieser Instanz einer Komponente zurück.Returns the class name of this instance of a component.

ICustomTypeDescriptor.GetComponentName()

Gibt den Namen dieser Instanz einer Komponente zurück.Returns the name of this instance of a component.

ICustomTypeDescriptor.GetConverter()

Gibt einen Typkonverter für diese Instanz einer Komponente zurück.Returns a type converter for this instance of a component.

ICustomTypeDescriptor.GetDefaultEvent()

Gibt das Standardereignis für diese Instanz einer Komponente zurück.Returns the default event for this instance of a component.

ICustomTypeDescriptor.GetDefaultProperty()

Gibt die Standardeigenschaft für diese Instanz einer Komponente zurück.Returns the default property for this instance of a component.

ICustomTypeDescriptor.GetEditor(Type)

Gibt einen Editor des angegebenen Typs für diese Instanz einer Komponente zurück.Returns an editor of the specified type for this instance of a component.

ICustomTypeDescriptor.GetEvents()

Gibt die Ereignisse für diese Instanz einer Komponente zurück.Returns the events for this instance of a component.

ICustomTypeDescriptor.GetEvents(Attribute[])

Gibt die Ereignisse für diese Instanz einer Komponente zurück, wobei das angegebene Attributarray als Filter verwendet wird.Returns the events for this instance of a component using the specified attribute array as a filter.

ICustomTypeDescriptor.GetProperties()

Gibt die Eigenschaften für diese Instanz einer Komponente zurück.Returns the properties for this instance of a component.

ICustomTypeDescriptor.GetProperties(Attribute[])

Gibt die Eigenschaften für diese Instanz einer Komponente zurück, wobei das Attributarray als Filter verwendet wird.Returns the properties for this instance of a component using the attribute array as a filter.

ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor)

Gibt ein Objekt zurück, das die Eigenschaft enthält, die durch den Eigenschaftendeskriptor angegeben ist.Returns an object that contains the property described by the specified property descriptor.

IDictionary.Add(Object, Object)

Fügt dem IDictionary-Objekt ein Element mit dem angegebenen Schlüssel und Wert hinzu.Adds an element with the provided key and value to the IDictionary object.

IDictionary.Contains(Object)

Ermittelt, ob das IDictionary-Objekt ein Element mit dem angegebenen Schlüssel enthält.Determines whether the IDictionary object contains an element with the specified key.

IDictionary.GetEnumerator()

Gibt ein IDictionaryEnumerator-Objekt für das IDictionary-Objekt zurück.Returns an IDictionaryEnumerator object for the IDictionary object.

IDictionary.IsFixedSize
IDictionary.IsReadOnly
IDictionary.Item[Object]

Ruft das Element mit dem angegebenen Schlüssel ab oder legt dieses fest.Gets or sets the element with the specified key.

IDictionary.Remove(Object)

Entfernt das Element mit dem angegebenen Schlüssel aus dem IDictionary-Objekt.Removes the element with the specified key from the IDictionary object.

IEnumerable.GetEnumerator()

Gibt einen Enumerator zurück, der eine Auflistung durchläuft.Returns an enumerator that iterates through a collection.

Erweiterungsmethoden

Cast<TResult>(IEnumerable)

Wandelt die Elemente eines IEnumerable in den angegebenen Typ umCasts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtert die Elemente eines IEnumerable anhand eines angegebenen TypsFilters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Ermöglicht die Parallelisierung einer Abfrage.Enables parallelization of a query.

AsQueryable(IEnumerable)

Konvertiert einen IEnumerable in einen IQueryable.Converts an IEnumerable to an IQueryable.

Gilt für:

Siehe auch