Freigeben über


OdbcConnectionStringBuilder Klasse

Definition

Bietet eine einfache Möglichkeit, den Inhalt von Verbindungszeichenfolgen, die von der OdbcConnection-Klasse verwendet werden, zu erstellen und zu verwalten.

public ref class OdbcConnectionStringBuilder sealed : System::Data::Common::DbConnectionStringBuilder
public sealed class OdbcConnectionStringBuilder : System.Data.Common.DbConnectionStringBuilder
[System.ComponentModel.TypeConverter(typeof(System.Data.Odbc.OdbcConnectionStringBuilder+OdbcConnectionStringBuilderConverter))]
public sealed class OdbcConnectionStringBuilder : System.Data.Common.DbConnectionStringBuilder
type OdbcConnectionStringBuilder = class
    inherit DbConnectionStringBuilder
[<System.ComponentModel.TypeConverter(typeof(System.Data.Odbc.OdbcConnectionStringBuilder+OdbcConnectionStringBuilderConverter))>]
type OdbcConnectionStringBuilder = class
    inherit DbConnectionStringBuilder
Public NotInheritable Class OdbcConnectionStringBuilder
Inherits DbConnectionStringBuilder
Vererbung
OdbcConnectionStringBuilder
Attribute

Beispiele

Die folgende Konsolenanwendung erstellt Verbindungszeichenfolgen für mehrere ODBC-Datenbanken. Zunächst wird im Beispiel eine Verbindungszeichenfolge für eine Microsoft Access-Datenbank erstellt. Anschließend wird eine Verbindungszeichenfolge für eine IBM DB2-Datenbank erstellt. Das Beispiel analysiert auch eine vorhandene Verbindungszeichenfolge und veranschaulicht verschiedene Möglichkeiten, den Inhalt der Verbindungszeichenfolge zu bearbeiten.

Hinweis

Das Beispiel umfasst ein Kennwort zur Veranschaulichung der Funktion von OdbcConnectionStringBuilder mit Verbindungszeichenfolgen. In den Anwendungen wird die Verwendung der Windows-Authentifizierung empfohlen. Wenn Sie ein Kennwort verwenden müssen, schließen Sie kein hartcodiertes Kennwort in die Anwendung ein.

using System.Data.Odbc;

class Program
{
    static void Main()
    {
        OdbcConnectionStringBuilder builder =
            new OdbcConnectionStringBuilder();
        builder.Driver = "Microsoft Access Driver (*.mdb)";

        // Call the Add method to explicitly add key/value
        // pairs to the internal collection.
        builder.Add("Dbq", "C:\\info.mdb");
        builder.Add("Uid", "Admin");
        builder.Add("Pwd", "pass!word1");

        Console.WriteLine(builder.ConnectionString);
        Console.WriteLine();

        // Clear current values and reset known keys to their
        // default values.
        builder.Clear();

        // Pass the OdbcConnectionStringBuilder an existing
        // connection string, and you can retrieve and
        // modify any of the elements.
        builder.ConnectionString =
            "driver={IBM DB2 ODBC DRIVER};Database=SampleDB;" +
            "hostname=SampleServerName;port=SamplePortNum;" +
            "protocol=TCPIP;uid=Admin;pwd=pass!word1";

        Console.WriteLine("protocol = "
            + builder["protocol"].ToString());
        Console.WriteLine();

        // Modify existing items.
        builder["uid"] = "NewUser";
        builder["pwd"] = "Pass@word2";

        // Call the Remove method to remove items from
        // the collection of key/value pairs.
        builder.Remove("port");

        // Note that calling Remove on a nonexistent item does not
        // throw an exception.
        builder.Remove("BadItem");
        Console.WriteLine(builder.ConnectionString);
        Console.WriteLine();

        // Setting the indexer adds the associated value, if
        // necessary.
        builder["NewKey"] = "newValue";
        Console.WriteLine(builder.ConnectionString);

        Console.WriteLine("Press Enter to finish.");
        Console.ReadLine();
    }
}
Imports System.Data.Odbc    

Module Module1
  Sub Main()
    Dim builder As New OdbcConnectionStringBuilder()
    builder.Driver = "Microsoft Access Driver (*.mdb)"

    ' Call the Add method to explicitly add key/value
    ' pairs to the internal collection.
    builder.Add("Dbq", "C:\info.mdb")
    builder.Add("Uid", "Admin")
    builder.Add("Pwd", "pass!word1")

    Console.WriteLine(builder.ConnectionString)
    Console.WriteLine()

    ' Clear current values and reset known keys to their
    ' default values.
    builder.Clear()

    ' Pass the OdbcConnectionStringBuilder an existing 
    ' connection string, and you can retrieve and
    ' modify any of the elements.
    builder.ConnectionString = _
        "driver={IBM DB2 ODBC DRIVER};Database=SampleDB;" & _
        "hostname=SampleServerName;port=SamplePortNum;" & _
        "protocol=TCPIP;uid=Admin;pwd=pass!word1"

    Console.WriteLine("protocol = " & builder("protocol").ToString())
    Console.WriteLine()

    ' Modify existing items:
    builder("uid") = "NewUser"
    builder("pwd") = "Pass@word2"

    ' Call the Remove method to remove items from 
    ' the collection of key/value pairs.
    builder.Remove("port")

    ' Note that calling Remove on a nonexistent item does not
    ' throw an exception.
    builder.Remove("BadItem")
    Console.WriteLine(builder.ConnectionString)
    Console.WriteLine()

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

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

Hinweise

Mit den Verbindungszeichenfolge-Generatoren können Entwickler programmgesteuert syntaktisch korrekte Verbindungszeichenfolgen erstellen und vorhandene Verbindungszeichenfolgen analysieren und neu erstellen, indem Eigenschaften und Methoden der -Klasse verwendet werden. Der Verbindungszeichenfolge-Generator stellt stark typisierte Eigenschaften bereit, die den bekannten Schlüssel-Wert-Paaren entsprechen, die von ODBC-Verbindungen zulässig sind, und Entwickler können beliebige Schlüssel-Wert-Paare für alle anderen Verbindungszeichenfolge-Werte hinzufügen.

Entwickler, die Verbindungszeichenfolgen als Teil von Anwendungen erstellen müssen, können die OdbcConnectionStringBuilder-Klasse verwenden, um Verbindungszeichenfolgen zu erstellen und zu ändern. Die Klasse vereinfacht auch die Verwaltung von Verbindungszeichenfolgen, die in einer Anwendungskonfigurationsdatei gespeichert sind. OdbcConnectionStringBuilder führt Überprüfungen nur für den begrenzten Satz bekannter Schlüssel-Wert-Paare durch. Daher kann diese Klasse verwendet werden, um ungültige Verbindungszeichenfolgen zu erstellen. In der folgenden Tabelle sind die spezifischen bekannten Schlüssel zusammen mit den entsprechenden Eigenschaften in der -Klasse und ihren OdbcConnectionStringBuilder Standardwerten aufgeführt. Neben diesen spezifischen Werten können Entwickler der Auflistung, die in der OdbcConnectionStringBuilder instance enthalten ist, beliebige Schlüssel-Wert-Paare hinzufügen.

Key Eigenschaft Kommentar Standardwert
Treiber Driver Entwickler sollten die geschweiften Klammern um den Treibernamen nicht einschließen, wenn sie die Driver -Eigenschaft festlegen. Die OdbcConnectionStringBuilder instance fügt nach Bedarf geschweifte Klammern hinzu. leere Zeichenfolge
DSN Dsn leere Zeichenfolge

Wenn ein Wert (außer dem Driver Wert) innerhalb des Verbindungszeichenfolge ein Semikolon (;) enthält, umgibt den OdbcConnectionStringBuilder Wert in Anführungszeichen im Verbindungszeichenfolge. Um dieses Problem mit dem Wert zu vermeiden, der Driver häufig ein Semikolon enthält, umschließt die OdbcConnectionStringBuilder -Klasse diesen Wert immer mit geschweiften Klammern. Die ODBC-Spezifikation gibt an, dass Treiberwerte, die Semikolons enthalten, von geschweiften Klammern umgeben sein müssen, und diese Klasse behandelt dies für Sie.

Die Item[] -Eigenschaft behandelt Versuche, schädlichen Code einzufügen. Beispielsweise wird das geschachtelte Schlüssel-Wert-Paar mit dem folgenden Code unter Verwendung der Standardeigenschaft Item[] (indexer in C#) ordnungsgemäß mit Escapezeichen versehen.

Dim builder As _
 New System.Data.Odbc.OdbcConnectionStringBuilder
' Take advantage of the Driver property.
builder.Driver = "SQL Server"
builder("Server") = "MyServer;NewValue=Bad"
Console.WriteLine(builder.ConnectionString)
System.Data.Odbc.OdbcConnectionStringBuilder builder =
  new System.Data.Odbc.OdbcConnectionStringBuilder();
// Take advantage of the Driver property.
builder.Driver = "SQL Server";
builder["Server"] = "MyServer;NewValue=Bad";
Console.WriteLine(builder.ConnectionString);

Das Ergebnis ist die folgende Verbindungszeichenfolge, die den ungültigen Wert sicher behandelt:

Driver={SQL Server};Server="MyServer;NewValue=Bad"

Konstruktoren

OdbcConnectionStringBuilder()

Initialisiert eine neue Instanz der OdbcConnectionStringBuilder-Klasse.

OdbcConnectionStringBuilder(String)

Initialisiert eine neue Instanz der OdbcConnectionStringBuilder-Klasse. Die bereitgestellte Verbindungszeichenfolge stellt die Daten für die internen Verbindungsinformationen der Instanz bereit.

Eigenschaften

BrowsableConnectionString

Ruft einen Wert ab, der angibt, ob die ConnectionString-Eigenschaft in Visual Studio-Designern sichtbar ist, oder legt diesen Wert fest.

(Geerbt von DbConnectionStringBuilder)
ConnectionString

Ruft die dem DbConnectionStringBuilder zugeordnete Verbindungszeichenfolge ab oder legt sie fest.

(Geerbt von DbConnectionStringBuilder)
Count

Ruft die aktuelle Anzahl von Schlüsseln ab, die in der ConnectionString-Eigenschaft enthalten sind.

(Geerbt von DbConnectionStringBuilder)
Driver

Ruft den Namen des ODBC-Treibers ab, der der Verbindung zugeordnet ist, oder legt diesen fest.

Dsn

Ruft den Namen der Datenquelle (DSN) ab, der der Verbindung zugeordnet ist, oder legt diesen fest.

IsFixedSize

Ruft einen Wert ab, der angibt, ob die DbConnectionStringBuilder eine feste Größe hat.

(Geerbt von DbConnectionStringBuilder)
IsReadOnly

Ruft einen Wert ab, der angibt, ob die DbConnectionStringBuilder schreibgeschützt ist.

(Geerbt von DbConnectionStringBuilder)
Item[String]

Ruft den Wert ab, der dem angegebenen Schlüssel zugeordnet ist, oder legt diesen fest. In C# ist diese Eigenschaft der Indexer.

Keys

Ruft eine ICollection ab, die die Schlüssel im OdbcConnectionStringBuilder enthält.

Values

Ruft ein ICollection ab, das die Werte im DbConnectionStringBuilder enthält.

(Geerbt von DbConnectionStringBuilder)

Methoden

Add(String, Object)

Fügt dem DbConnectionStringBuilder einen Eintrag mit dem angegebenen Schlüssel und Wert hinzu.

(Geerbt von DbConnectionStringBuilder)
Clear()

Löscht den Inhalt der OdbcConnectionStringBuilder-Instanz.

ClearPropertyDescriptors()

Löscht die Auflistung von PropertyDescriptor-Objekten, die dem DbConnectionStringBuilder zugeordnet sind.

(Geerbt von DbConnectionStringBuilder)
ContainsKey(String)

Stellt fest, ob der OdbcConnectionStringBuilder einen bestimmten Schlüssel enthält.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
EquivalentTo(DbConnectionStringBuilder)

Vergleicht die Verbindungsinformationen in diesem DbConnectionStringBuilder-Objekt mit den Verbindungsinformationen im angegebenen Objekt.

(Geerbt von DbConnectionStringBuilder)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetProperties(Hashtable)

Füllt eine angegebene Hashtable mit Informationen zu allen Eigenschaften dieses DbConnectionStringBuilder.

(Geerbt von DbConnectionStringBuilder)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
Remove(String)

Entfernt den Eintrag mit dem angegebenen Schlüssel aus der OdbcConnectionStringBuilder-Instanz.

ShouldSerialize(String)

Gibt an, ob der angegebene Schlüssel in dieser DbConnectionStringBuilder-Instanz vorhanden ist.

(Geerbt von DbConnectionStringBuilder)
ToString()

Gibt die diesem DbConnectionStringBuilder zugeordnete Verbindungszeichenfolge zurück.

(Geerbt von DbConnectionStringBuilder)
TryGetValue(String, Object)

Ruft einen Wert ab, der dem von diesem OdbcConnectionStringBuilder bereitgestellten Schlüssel entspricht.

Explizite Schnittstellenimplementierungen

ICollection.CopyTo(Array, Int32)

Kopiert die Elemente der ICollection in ein Array, beginnend bei einem bestimmten Array-Index.

(Geerbt von DbConnectionStringBuilder)
ICollection.IsSynchronized

Ruft einen Wert ab, der angibt, ob der Zugriff auf die ICollection synchronisiert (threadsicher) ist.

(Geerbt von DbConnectionStringBuilder)
ICollection.SyncRoot

Ruft ein Objekt ab, mit dem der Zugriff auf ICollection synchronisiert werden kann.

(Geerbt von DbConnectionStringBuilder)
ICustomTypeDescriptor.GetAttributes()

Gibt eine Auflistung benutzerdefinierter Attribute für diese Instanz einer Komponente zurück.

(Geerbt von DbConnectionStringBuilder)
ICustomTypeDescriptor.GetClassName()

Gibt den Klassennamen dieser Instanz einer Komponente zurück.

(Geerbt von DbConnectionStringBuilder)
ICustomTypeDescriptor.GetComponentName()

Gibt den Namen dieser Instanz einer Komponente zurück.

(Geerbt von DbConnectionStringBuilder)
ICustomTypeDescriptor.GetConverter()

Gibt einen Typkonverter für diese Instanz einer Komponente zurück.

(Geerbt von DbConnectionStringBuilder)
ICustomTypeDescriptor.GetDefaultEvent()

Gibt das Standardereignis für diese Instanz einer Komponente zurück.

(Geerbt von DbConnectionStringBuilder)
ICustomTypeDescriptor.GetDefaultProperty()

Gibt die Standardeigenschaft für diese Instanz einer Komponente zurück.

(Geerbt von DbConnectionStringBuilder)
ICustomTypeDescriptor.GetEditor(Type)

Gibt einen Editor des angegebenen Typs für diese Instanz einer Komponente zurück.

(Geerbt von DbConnectionStringBuilder)
ICustomTypeDescriptor.GetEvents()

Gibt die Ereignisse für diese Instanz einer Komponente zurück.

(Geerbt von DbConnectionStringBuilder)
ICustomTypeDescriptor.GetEvents(Attribute[])

Gibt die Ereignisse für diese Instanz einer Komponente zurück, wobei das angegebene Attributarray als Filter verwendet wird.

(Geerbt von DbConnectionStringBuilder)
ICustomTypeDescriptor.GetProperties()

Gibt die Eigenschaften für diese Instanz einer Komponente zurück.

(Geerbt von DbConnectionStringBuilder)
ICustomTypeDescriptor.GetProperties(Attribute[])

Gibt die Eigenschaften für diese Instanz einer Komponente zurück, wobei das Attributarray als Filter verwendet wird.

(Geerbt von DbConnectionStringBuilder)
ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor)

Gibt ein Objekt zurück, das die Eigenschaft enthält, die durch den Eigenschaftendeskriptor angegeben ist.

(Geerbt von DbConnectionStringBuilder)
IDictionary.Add(Object, Object)

Fügt dem IDictionary-Objekt ein Element mit dem angegebenen Schlüssel und Wert hinzu.

(Geerbt von DbConnectionStringBuilder)
IDictionary.Contains(Object)

Ermittelt, ob das IDictionary-Objekt ein Element mit dem angegebenen Schlüssel enthält.

(Geerbt von DbConnectionStringBuilder)
IDictionary.GetEnumerator()

Gibt ein IDictionaryEnumerator-Objekt für das IDictionary-Objekt zurück.

(Geerbt von DbConnectionStringBuilder)
IDictionary.Item[Object]

Ruft das Element mit dem angegebenen Schlüssel ab oder legt dieses fest.

(Geerbt von DbConnectionStringBuilder)
IDictionary.Remove(Object)

Entfernt das Element mit dem angegebenen Schlüssel aus dem IDictionary-Objekt.

(Geerbt von DbConnectionStringBuilder)
IEnumerable.GetEnumerator()

Gibt einen Enumerator zurück, der eine Auflistung durchläuft.

(Geerbt von DbConnectionStringBuilder)

Erweiterungsmethoden

Cast<TResult>(IEnumerable)

Wandelt die Elemente eines IEnumerable in den angegebenen Typ um

OfType<TResult>(IEnumerable)

Filtert die Elemente eines IEnumerable anhand eines angegebenen Typs

AsParallel(IEnumerable)

Ermöglicht die Parallelisierung einer Abfrage.

AsQueryable(IEnumerable)

Konvertiert einen IEnumerable in einen IQueryable.

Gilt für:

Weitere Informationen