Freigeben über


Verbindungszeichenfolgen in ADO.NET

Gilt für: .NET Framework .NET .NET Standard

Herunterladen von ADO.NET

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 SqlClientkonfiguriert werden.

Schützen von Verbindungsinformationen
Demonstriert Verfahren zum Schützen von Informationen, die beim Herstellen von Verbindungen mit einer Datenquelle verwendet werden.

Weitere Informationen: