OdbcConnectionStringBuilder Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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. |