Freigeben über


OdbcConnectionStringBuilder Klasse

Definition

Bietet eine einfache Möglichkeit zum Erstellen und Verwalten des Inhalts von Verbindungszeichenfolgen, die von der OdbcConnection Klasse verwendet werden.

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. Zuerst erstellt das Beispiel eine Verbindungszeichenfolge für eine Microsoft Access-Datenbank. Anschließend wird eine Verbindungszeichenfolge für eine IBM DB2-Datenbank erstellt. Im Beispiel wird auch eine vorhandene Verbindungszeichenfolge analysiert und verschiedene Möglichkeiten zum Bearbeiten des Inhalts der Verbindungszeichenfolge veranschaulicht.

using System.Data.Odbc;

class Program
{
    static void Main()
    {
        OdbcConnectionStringBuilder builder = new()
            {
                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");

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

        Console.WriteLine($"protocol = {builder["protocol"].ToString()}");
        Console.WriteLine();

        // 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);
    }
}
Imports System.Data.Odbc

Module Module1
    Sub Main()
        Dim builder As New OdbcConnectionStringBuilder With {
            .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")

        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"

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

        ' 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 Verbindungszeichenfolgen-Generatoren können Entwickler syntaktisch korrekte Verbindungszeichenfolgen programmgesteuert erstellen und vorhandene Verbindungszeichenfolgen mithilfe von Eigenschaften und Methoden der Klasse analysieren und neu erstellen. Der Verbindungszeichenfolgen-Generator stellt stark typierte 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 Verbindungszeichenfolgenwerte 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 erleichtert auch die Verwaltung von Verbindungszeichenfolgen, die in einer Anwendungskonfigurationsdatei gespeichert sind. OdbcConnectionStringBuilder führt nur Prüfungen 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 innerhalb der OdbcConnectionStringBuilder Klasse und deren Standardwerten aufgeführt. Neben diesen spezifischen Werten können Entwickler der Auflistung, die in der OdbcConnectionStringBuilder Instanz enthalten ist, beliebige Schlüssel-Wert-Paare hinzufügen.

Schlüssel Eigentum Kommentar Standardwert
Driver Driver Entwickler sollten die geschweiften Klammern, die den Treibernamen umgeben, nicht einschließen, wenn sie die Driver Eigenschaft festlegen. Die OdbcConnectionStringBuilder Instanz fügt bei Bedarf geschweifte Klammern hinzu. Leere Zeichenfolge
DSN Dsn Leere Zeichenfolge

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

Die Item[] Eigenschaft behandelt Versuche, bösartigen Code einzufügen. Der folgende Code wird z. B. mit der Standardeigenschaft Item[] (indexer in C#) dem geschachtelten Schlüssel-Wert-Paar ordnungsgemäß escapet.

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 auf sichere Weise behandelt:

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

Konstruktoren

Name Beschreibung
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

Name Beschreibung
BrowsableConnectionString

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob die ConnectionString Eigenschaft in Visual Studio-Designern sichtbar ist.

(Geerbt von DbConnectionStringBuilder)
ConnectionString

Dient zum Abrufen oder Festlegen der Verbindungszeichenfolge, die der DbConnectionStringBuilder.

(Geerbt von DbConnectionStringBuilder)
Count

Ruft die aktuelle Anzahl der Schlüssel ab, die in der ConnectionString Eigenschaft enthalten sind.

(Geerbt von DbConnectionStringBuilder)
Driver

Dient zum Abrufen oder Festlegen des Namens des ODBC-Treibers, der der Verbindung zugeordnet ist.

Dsn

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

IsFixedSize

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

(Geerbt von DbConnectionStringBuilder)
IsReadOnly

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

(Geerbt von DbConnectionStringBuilder)
Item[String]

Dient zum Abrufen oder Festlegen des Werts, der dem angegebenen Schlüssel zugeordnet ist. In C# ist diese Eigenschaft der Indexer.

Keys

Ruft ein ICollection , das die Schlüssel in der OdbcConnectionStringBuilder.

Values

Ruft eine ICollection , die die Werte in der DbConnectionStringBuilder.

(Geerbt von DbConnectionStringBuilder)

Methoden

Name Beschreibung
Add(String, Object)

Fügt dem angegebenen Schlüssel und Wert DbConnectionStringBuildereinen Eintrag hinzu.

(Geerbt von DbConnectionStringBuilder)
Clear()

Löscht den Inhalt der OdbcConnectionStringBuilder Instanz.

ClearPropertyDescriptors()

Löscht die Auflistung von PropertyDescriptor Objekten für die zugeordnete DbConnectionStringBuilder.

(Geerbt von DbConnectionStringBuilder)
ContainsKey(String)

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

Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
EquivalentTo(DbConnectionStringBuilder)

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

(Geerbt von DbConnectionStringBuilder)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetProperties(Hashtable)

Füllt eine bereitgestellte Hashtable Information über alle Eigenschaften dieser DbConnectionStringBuilder.

(Geerbt von DbConnectionStringBuilder)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie der 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 DbConnectionStringBuilderZugeordnete Verbindungszeichenfolge zurück.

(Geerbt von DbConnectionStringBuilder)
TryGetValue(String, Object)

Ruft einen Wert ab, der dem angegebenen Schlüssel entspricht OdbcConnectionStringBuilder.

Explizite Schnittstellenimplementierungen

Name Beschreibung
ICollection.CopyTo(Array, Int32)

Kopiert die Elemente des Elements in ICollection 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 Synchronisierung (Threadsicher) erfolgt.

(Geerbt von DbConnectionStringBuilder)
ICollection.SyncRoot

Ruft ein Objekt ab, das zum Synchronisieren des Zugriffs auf die ICollectionverwendet werden kann.

(Geerbt von DbConnectionStringBuilder)
ICustomTypeDescriptor.GetAttributes()

Gibt eine Auflistung von benutzerdefinierten Attributen 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, die das angegebene Attributarray als Filter verwendet.

(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, die das Attributarray als Filter verwendet.

(Geerbt von DbConnectionStringBuilder)
ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor)

Gibt ein Objekt zurück, das die durch den angegebenen Eigenschaftsdeskriptor beschriebene Eigenschaft enthält.

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

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

(Geerbt von DbConnectionStringBuilder)
IDictionary.Contains(Object)

Bestimmt, 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 es 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

Name Beschreibung
AsParallel(IEnumerable)

Aktiviert die Parallelisierung einer Abfrage.

AsQueryable(IEnumerable)

Wandelt eine IEnumerable in eine IQueryableum.

Cast<TResult>(IEnumerable)

Wandelt die Elemente eines IEnumerable in den angegebenen Typ um.

OfType<TResult>(IEnumerable)

Filtert die Elemente einer IEnumerable basierend auf einem angegebenen Typ.

Gilt für:

Weitere Informationen