Verbindungszeichenfolgen in ADO.NET
Gilt für: .NET Framework .NET .NET Standard
Eine Verbindungszeichenfolge enthält Initialisierungsinformationen, die als Parameter von einem Datenanbieter an eine Datenquelle übergeben werden. Der Datenanbieter empfängt die Verbindungszeichenfolge als Wert der DbConnection.ConnectionString-Eigenschaft. Der Anbieter analysiert die Verbindungszeichenfolge und stellt sicher, dass die Syntax stimmt und die Schlüsselwörter unterstützt werden. Anschließend übergibt die DbConnection.Open()-Methode die analysierten Verbindungsparameter an die Datenquelle. Die Datenquelle führt eine weitere Prüfung durch und stellt eine Verbindung her.
Syntax von Verbindungszeichenfolgen
Eine Verbindungszeichenfolge besteht aus einer durch Semikolons getrennten Liste mit Paaren von Schlüssel-Wert-Parametern:
keyword1=value; keyword2=value;
Bei Schlüsselwörtern muss die Groß-/Kleinschreibung nicht beachtet werden. Allerdings muss bei Werten je nach Datenquelle möglicherweise Groß-/Kleinschreibung beachtet werden. Sowohl Schlüsselwörter als auch Werte können Leerzeichen enthalten. Führende und nachstehende Leerzeichen werden in Schlüsselwörtern und Werten ohne Anführungszeichen ignoriert.
Wenn ein Wert das Semikolon, Unicode-Steuerzeichen oder führende oder nachstehende Leerzeichen enthält, muss er von einfachen oder doppelten Anführungszeichen umschlossen werden. Beispiel:
Keyword=" whitespace ";
Keyword='special;character';
Das umschließende Zeichen darf nicht im Wert vorkommen, den es umschließt. Daher kann ein Wert, der einfache Anführungszeichen enthält, nur von doppelten Anführungszeichen umschlossen werden und umgekehrt:
Keyword='double"quotation;mark';
Keyword="single'quotation;mark";
Sie können das umschließende Zeichen auch mit Escapezeichen versehen, indem Sie zwei davon zusammen verwenden:
Keyword="double""quotation";
Keyword='single''quotation';
Sowohl die Anführungszeichen selbst als auch das Gleichheitszeichen müssen nicht mit Escapezeichen versehen werden, sodass die folgenden Verbindungszeichenfolgen gültig sind:
Keyword=no "escaping" 'required';
Keyword=a=b=c
Da jeder Wert bis zum nächsten Semikolon bzw. bis zum Ende einer Zeichenfolge gelesen wird, ist der Wert im letzteren Beispiel a=b=c
und das abschließende Semikolon optional.
Alle Verbindungszeichenfolgen haben dieselbe grundlegende Syntax, die zuvor beschrieben wurde. Die Gruppe erkannter Schlüsselwörter hängt vom Anbieter ab. Der Microsoft SqlClient-Datenanbieter für SQL Server unterstützt viele Schlüsselwörter älterer APIs, ist jedoch im Allgemeinen flexibler und akzeptiert Synonyme für viele der gängigen Schlüsselwörter in Verbindungszeichenfolgen.
Tippfehler können Fehler verursachen. Beispielsweise ist Integrated Security=true
gültig, aber IntegratedSecurity=true
verursacht einen Fehler.
Verbindungszeichenfolgen, die zur Laufzeit manuell anhand nicht überprüfter Benutzereingaben erstellt werden, sind anfällig für Zeichenfolgeneinschleusungs-Angriffe und gefährden die Sicherheit der Datenquelle. Um diese Probleme zu lösen, wurde die SqlConnectionStringBuilder-Klasse erstellt. Dieser Verbindungszeichenfolgen-Generator-Klasse macht Parameter als stark typisierte Eigenschaften verfügbar und ermöglicht es, die Verbindungszeichenfolge zu überprüfen, bevor sie zur Datenquelle gesendet wird.
In diesem Abschnitt
Verbindungszeichenfolgen-Generator
Zeigt, wie zur Laufzeit mithilfe der ConnectionStringBuilder
-Klasse gültige Verbindungszeichenfolgen erstellt werden können.
Verbindungszeichenfolgen und Konfigurationsdateien
Zeigt, wie Verbindungszeichenfolgen in Konfigurationsdateien gespeichert und abgerufen werden können.
Syntax der Verbindungszeichenfolge
Beschreibt, wie anbieterspezifische Verbindungszeichenfolgen für SqlClient
konfiguriert werden.
Schützen von Verbindungsinformationen
Demonstriert Verfahren zum Schützen von Informationen, die beim Herstellen von Verbindungen mit einer Datenquelle verwendet werden.