Verbindungszeichenfolgen in ADO.NETConnection Strings in ADO.NET

Eine Verbindungszeichenfolge enthält Initialisierungsinformationen, die als Parameter von einem Datenanbieter an eine Datenquelle übergeben werden.A connection string contains initialization information that is passed as a parameter from a data provider to a data source. Der Datenanbieter empfängt die Verbindungs Zeichenfolge als Wert der DbConnection.ConnectionString-Eigenschaft.The data provider receives the connection string as the value of the DbConnection.ConnectionString property. Der Anbieter analysiert die Verbindungs Zeichenfolge und stellt sicher, dass die Syntax korrekt ist und dass die Schlüsselwörter unterstützt werden.The provider parses the connection string and ensures that the syntax is correct and that the keywords are supported. Anschließend übergibt die DbConnection.Open()-Methode die analysierten Verbindungsparameter an die Datenquelle.Then the DbConnection.Open() method passes the parsed connection parameters to the data source. Die Datenquelle führt eine weitere Validierung durch und stellt eine Verbindung her.The data source performs further validation and establishes a connection.

Verbindungs Zeichen folgen SyntaxConnection string syntax

Eine Verbindungs Zeichenfolge ist eine durch Semikolons getrennte Liste von Schlüssel-Wert-Parameter Paaren:A connection string is a semicolon-delimited list of key/value parameter pairs:

keyword1=value; keyword2=value;

Bei Schlüsselwörtern wird Groß-/Kleinschreibung nicht beachtet.Keywords are not case-sensitive. Bei Werten kann jedoch abhängig von der Datenquelle die Groß-/Kleinschreibung beachtet werden.Values, however, may be case-sensitive, depending on the data source. Sowohl Schlüsselwörter als auch Werte können Leerzeichenenthalten.Both keywords and values may contain whitespace characters. Führende und nachfolgende Leerzeichen werden in Schlüsselwörtern und Werten ohne Anführungszeichen ignoriert.Leading and trailing white space is ignored in keywords and unquoted values.

Wenn ein Wert das Semikolon oder Unicode-Steuerzeichenoder führende oder nachfolgende Leerzeichen enthält, muss er in einfache oder doppelte Anführungszeichen eingeschlossen werden.If a value contains the semicolon, Unicode control characters, or leading or trailing white space, it must be enclosed in single or double quotation marks. Beispiel:For example:

Keyword=" whitespace  ";
Keyword='special;character';

Das einschließende Zeichen darf nicht innerhalb des umschließenden Werts auftreten.The enclosing character may not occur within the value it encloses. Daher kann ein Wert, der einfache Anführungszeichen enthält, nur in doppelte Anführungszeichen eingeschlossen werden und umgekehrt:Therefore, a value containing single quotation marks can be enclosed only in double quotation marks, and vice versa:

Keyword='double"quotation;mark';
Keyword="single'quotation;mark";

Sie können das einschließende Zeichen auch mit Escapezeichen versehen, indem Sie zwei davon verwenden:You can also escape the enclosing character by using two of them together:

Keyword="double""quotation";
Keyword='single''quotation';

Die Anführungszeichen selbst und das Gleichheitszeichen erfordern keinen Escapezeichen, sodass die folgenden Verbindungs Zeichenfolgen gültig sind:The quotation marks themselves, as well as the equals sign, do not require escaping, so the following connection strings are valid:

Keyword=no "escaping" 'required';
Keyword=a=b=c

Da jeder Wert bis zum nächsten Semikolon oder Ende der Zeichenfolge gelesen wird, ist der Wert im letzteren Beispiel a=b=c, und das abschließende Semikolon ist optional.Since each value is read till the next semicolon or the end of string, the value in the latter example is a=b=c, and the final semicolon is optional.

Alle Verbindungs Zeichenfolgen haben dieselbe grundlegende Syntax, die oben beschrieben wird.All connection strings share the same basic syntax described above. Der Satz der erkannten Schlüsselwörter hängt jedoch vom Anbieter ab und hat sich über die Jahre von früheren APIs wie ODBCentwickelt.The set of recognized keywords depends on the provider, however, and has evolved over the years from earlier APIs such as ODBC. Der .NET Framework -Datenanbieter für SQL Server (SqlClient) unterstützt viele Schlüsselwörter aus älteren APIs, ist jedoch im Allgemeinen flexibler und akzeptiert Synonyme für viele der allgemeinen Schlüsselwörter der Verbindungs Zeichenfolge.The .NET Framework data provider for SQL Server (SqlClient) supports many keywords from older APIs, but is generally more flexible and accepts synonyms for many of the common connection string keywords.

Das Eingeben von Fehlern kann zu Fehlern führen.Typing mistakes can cause errors. Beispielsweise ist Integrated Security=true gültig, aber IntegratedSecurity=true verursacht einen Fehler.For example, Integrated Security=true is valid, but IntegratedSecurity=true causes an error.

Verbindungs Zeichenfolgen, die zur Laufzeit von nicht validierten Benutzereingaben manuell erstellt werden, sind anfällig für Angriffe durch Zeichen folgen Injektion und gefährden die Sicherheit in der Datenquelle.Connection strings constructed manually at run time from unvalidated user input are vulnerable to string-injection attacks and jeopardize security at the data source. Um diese Probleme zu beheben, wurden von ADO.net 2,0 Verbindungs Zeichenfolgen -Generatoren für jeden .NET Framework -Datenanbieter eingeführt.To address these problems, ADO.NET 2.0 introduced connection string builders for each .NET Framework data provider. Diese Verbindungs Zeichenfolgen-Generatoren machen Parameter als stark typisierte Eigenschaften verfügbar und ermöglichen es, die Verbindungs Zeichenfolge zu validieren, bevor Sie an die Datenquelle gesendet wird.These connection string builders expose parameters as strongly-typed properties, and make it possible to validate the connection string before it's sent to the data source.

In diesem AbschnittIn This Section

Verbindungs Zeichenfolgen -GeneratorenConnection String Builders
Zeigt, wie mit den ConnectionStringBuilder-Klassen gültige Verbindungszeichenfolgen zur Laufzeit erstellt werden können.Demonstrates how to use the ConnectionStringBuilder classes to construct valid connection strings at run time.

Verbindungs Zeichenfolgen und KonfigurationsdateienConnection Strings and Configuration Files
Zeigt, wie Verbindungszeichenfolgen in Konfigurationsdateien gespeichert und abgerufen werden können.Demonstrates how to store and retrieve connection strings in configuration files.

Syntax der Verbindungs ZeichenfolgeConnection String Syntax
Beschreibt das Konfigurieren anbieterspezifischer Verbindungszeichenfolgen für SqlClient, OracleClient, OleDb und Odbc.Describes how to configure provider-specific connection strings for SqlClient, OracleClient, OleDb, and Odbc.

Schutz der VerbindungsinformationenProtecting Connection Information
Demonstriert Verfahren zum Schützen von Informationen, die beim Herstellen von Verbindungen mit einer Datenquelle verwendet werden.Demonstrates techniques for protecting information used to connect to a data source.

Siehe auchSee also