OleDbConnection.ConnectionString OleDbConnection.ConnectionString OleDbConnection.ConnectionString OleDbConnection.ConnectionString Property

Definition

Ruft die Zeichenfolge ab, mit der eine Datenbank geöffnet wird, oder legt diese fest.Gets or sets the string used to open a database.

public:
 virtual property System::String ^ ConnectionString { System::String ^ get(); void set(System::String ^ value); };
[System.ComponentModel.SettingsBindable(true)]
[System.Data.DataSysDescription("OleDbConnection_ConnectionString")]
public override string ConnectionString { get; set; }
member this.ConnectionString : string with get, set
Public Overrides Property ConnectionString As String

Eigenschaftswert

Die OLE DB-Anbieter Verbindungszeichenfolge, die Namen der Datenquelle und andere für Herstellen der anfangsverbindung erforderliche Parameter enthält.The OLE DB provider connection string that includes the data source name, and other parameters needed to establish the initial connection. Der Standardwert ist eine leere Zeichenfolge.The default value is an empty string.

Implementiert

Ausnahmen

Es wurde ein ungültiges Argument für eine Verbindungszeichenfolge bereitgestellt, oder ein erforderliches Argument für eine Verbindungszeichenfolge wurde nicht bereitgestellt.An invalid connection string argument has been supplied or a required connection string argument has not been supplied.

Beispiele

Das folgende Beispiel erstellt eine OleDbConnection und einige seiner Eigenschaften in der Verbindungszeichenfolge festgelegt.The following example creates an OleDbConnection and sets some of its properties in the connection string.

static void OpenConnection(string connectionString)
{
    using (OleDbConnection connection = new OleDbConnection(connectionString))
    {
        try
        {
            connection.Open();
            Console.WriteLine("ServerVersion: {0} \nDataSource: {1}",
                connection.ServerVersion, connection.DataSource);
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
        // The connection is automatically closed when the
        // code exits the using block.
    }
}
Public Sub OpenConnection(ByVal connectionString As String)

    Using connection As New OleDbConnection(connectionString)
        Try
            connection.Open()
            Console.WriteLine("Server Version: {0} DataSource: {1}", _
                connection.ServerVersion, connection.DataSource)
        Catch ex As Exception
            Console.WriteLine(ex.Message)
        End Try
        ' The connection is automatically closed when the
        ' code exits the Using block.
    End Using
End Sub

Hinweise

Die ConnectionString so weit wie möglich mit den folgenden Ausnahmen entsprechend Format OLE DB-Verbindungszeichenfolge dient:The ConnectionString is designed to match OLE DB connection string format as closely as possible with the following exceptions:

  • Der "Provider = value "-Klausel ist erforderlich.The "Provider = value " clause is required. Allerdings können keine "Provider = MSDASQL", weil die .NET Framework-Datenanbieter für OLE DB OLE DB-Anbieter für ODBC (MSDASQL) nicht unterstützt.However, you cannot use "Provider = MSDASQL" because the .NET Framework Data Provider for OLE DB does not support the OLE DB Provider for ODBC (MSDASQL). Um ODBC-Datenquellen zuzugreifen, verwenden die OdbcConnection -Objekt, das in der System.Data.Odbc Namespace.To access ODBC data sources, use the OdbcConnection object that is in the System.Data.Odbc namespace.

  • Im Gegensatz zu ODBC oder ADO ist die Verbindungszeichenfolge, die zurückgegeben wird, ist identisch mit dem vom Benutzer festgelegten ConnectionString, abzüglich der Sicherheitsinformationen Wenn Persist Security Info nastaven NA hodnotu false (Standard).Unlike ODBC or ADO, the connection string that is returned is the same as the user-set ConnectionString, minus security information if Persist Security Info is set to false (default). Die .NET Framework-Datenanbieter für OLE DB nicht beibehalten oder das Kennwort in einer Verbindungszeichenfolge zurück, es sei denn, Sie legen die Persist Security Info Schlüsselwort true (nicht empfohlen).The .NET Framework Data Provider for OLE DB does not persist or return the password in a connection string unless you set the Persist Security Info keyword to true (not recommended). Um ein hohes Maß an Sicherheit zu gewährleisten, wird dringend empfohlen, die Sie verwenden die Integrated Security Schlüsselwort mit Persist Security Info festgelegt false.To maintain a high level of security, it is strongly recommended that you use the Integrated Security keyword with Persist Security Info set to false.

Sie können die ConnectionString Eigenschaft, um mit einer Vielzahl von Datenquellen herstellen.You can use the ConnectionString property to connect to a variety of data sources. Das folgende Beispiel veranschaulicht mehrere mögliche Verbindungszeichenfolgen.The following example illustrates several possible connection strings.

"Provider=MSDAORA; Data Source=ORACLE8i7;Persist Security Info=False;Integrated Security=Yes"  

"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\bin\LocalAccess40.mdb"  

"Provider=SQLOLEDB;Data Source=(local);Integrated Security=SSPI"  

Wenn die Data Source -Schlüsselwort nicht in der Verbindungszeichenfolge angegeben ist, der Anbieter versucht, auf dem lokalen Server zu verbinden, sofern verfügbar.If the Data Source keyword is not specified in the connection string, the provider will try to connect to the local server if one is available.

Weitere Informationen zu Verbindungszeichenfolgen finden Sie unter Schlüsselwörtern für Verbindungszeichenfolgen mit SQL Server Native Client.For more information about connection strings, see Using Connection String Keywords with SQL Server Native Client.

Die ConnectionString Eigenschaft kann festgelegt werden, nur, wenn die Verbindung geschlossen wird.The ConnectionString property can be set only when the connection is closed. Viele Werte der Verbindungszeichenfolgen verfügen über entsprechende schreibgeschützte Eigenschaften.Many of the connection string values have corresponding read-only properties. Wenn die Verbindungszeichenfolge festgelegt ist, werden diese Eigenschaften aktualisiert, sofern ein Fehler aufgetreten ist.When the connection string is set, these properties are updated, except when an error is detected. In diesem Fall werden keine der Eigenschaften aktualisiert.In this case, none of the properties are updated. OleDbConnection Eigenschaften zurückgeben, nur Einstellungen, die in befinden die ConnectionString.OleDbConnection properties return only those settings that are contained in the ConnectionString.

Zurücksetzen der ConnectionString für eine geschlossene Verbindung werden alle Werte der Verbindungszeichenfolge und verknüpfte Eigenschaften zurückgesetzt.Resetting the ConnectionString on a closed connection resets all connection string values and related properties. Dies schließt das Kennwort.This includes the password. Wenn Sie eine Verbindungszeichenfolge festlegen, z. B. "Initial Catalog = AdventureWorks", und setzen Sie die Verbindungszeichenfolge für "Provider = SQLOLEDB; Datenquelle = MySQLServer; IntegratedSecurity = SSPI", wird die Database -Eigenschaftensatz nicht mehr auf AdventureWorks.For example, if you set a connection string that includes "Initial Catalog= AdventureWorks", and then reset the connection string to "Provider= SQLOLEDB;Data Source= MySQLServer;IntegratedSecurity=SSPI", the Database property is no longer set to AdventureWorks. (Der Wert Anfangskatalog der Verbindungszeichenfolge entspricht der Database Eigenschaft.)(The Initial Catalog value of the connection string corresponds to the Database property.)

Eine vorläufige Validierung der Verbindungszeichenfolge wird ausgeführt, wenn die Eigenschaft festgelegt ist.A preliminary validation of the connection string is performed when the property is set. Wenn Werte für die Provider, Connect Timeout, Persist Security Info, oder OLE DB Services befinden sich diese Werte werden in der Zeichenfolge überprüft.If values for the Provider, Connect Timeout, Persist Security Info, or OLE DB Services are included in the string, these values are checked. Wenn eine Anwendung ruft die Open -Methode, die Verbindungszeichenfolge wurde vollständig überprüft.When an application calls the Open method, the connection string is fully validated. Wenn die Verbindungszeichenfolge ungültige oder nicht unterstützte Eigenschaften, eine Laufzeitausnahme z. B. enthält ArgumentException, wird generiert.If the connection string contains invalid or unsupported properties, a run-time exception, such as ArgumentException, is generated.

Achtung

Es ist möglich, geben Sie Verbindungsinformationen für eine OleDbConnection in einer Datei (Universal Data Link, UDL), jedoch müssen dies zu vermeiden.It is possible to supply connection information for an OleDbConnection in a Universal Data Link (UDL) file; however you should avoid doing so. UDL-Dateien werden nicht verschlüsselt und machen Informationen zur Verbindungszeichenfolge in Klartext.UDL files are not encrypted and expose connection string information in clear text. Da es sich bei einer UDL-Datei um eine externe Ressource der Anwendung handelt, kann sie nicht mit .NET Framework gesichert werden.Because a UDL file is an external file-based resource to your application, it cannot be secured using the .NET Framework.

Das grundlegende Format einer Verbindungszeichenfolge enthält eine Reihe von Schlüsselwort-Wert-Paaren, die durch Semikolons getrennt ein.The basic format of a connection string includes a series of keyword/value pairs separated by semicolons. Ein Gleichheitszeichen (=) verbindet jedes Schlüsselwort mit seinem Wert.The equal sign (=) connects each keyword and its value. Um die Werte enthalten, die eine durch Semikolon, einfache Anführungszeichen oder doppelten Anführungszeichen enthalten, muss der Wert in Anführungszeichen eingeschlossen werden.To include values that contain a semicolon, single-quote character, or double-quote character, the value must be enclosed in double quotation marks. Wenn der Wert sowohl ein Semikolon und ein doppeltes Anführungszeichen enthält, kann der Wert in einfache Anführungszeichen eingeschlossen werden.If the value contains both a semicolon and a double-quote character, the value can be enclosed in single quotation marks. Das einfache Anführungszeichen ist auch nützlich, wenn der Wert mit einem Anführungszeichen beginnt.The single quotation mark is also useful if the value starts with a double-quote character. Im Gegensatz dazu kann das doppelte Anführungszeichen verwendet werden, wenn der Wert mit einem einfachen Anführungszeichen beginnt.Conversely, the double quotation mark can be used if the value starts with a single quotation mark. Wenn der Wert sowohl einfache Anführungszeichen und doppelte Anführungszeichen enthält, muss die Anführungszeichen verwendet, um den Wert einzuschließen verdoppelt werden jedes Mal, wenn er im Wert vorkommt.If the value contains both single-quote and double-quote characters, the quotation-mark character used to enclose the value must be doubled every time it occurs within the value.

Um die im Zeichenfolgenwert voran- oder nachgestellte Leerzeichen enthalten, muss der Wert in einfache Anführungszeichen oder doppelte Anführungszeichen eingeschlossen werden.To include preceding or trailing spaces in the string value, the value must be enclosed in either single quotation marks or double quotation marks. Keine führenden oder nachgestellten Leerzeichen ganze Zahl, boolescher Wert oder aufgezählte Werte werden ignoriert, auch wenn in Anführungszeichen eingeschlossen.Any leading or trailing spaces around integer, Boolean, or enumerated values are ignored, even if enclosed in quotation marks. Allerdings werden Leerzeichen in einer Zeichenfolge-literalschlüsselwort oder Wert beibehalten.However, spaces within a string literal keyword or value are preserved. Einfache oder doppelte Anführungszeichen können in einer Verbindungszeichenfolge verwendet werden, ohne Trennzeichen (z. B. Data Source= my'Server oder Data Source= my"Server), wenn ein Anführungszeichen der ersten oder letzten Zeichen des Werts ist.Single or double quotation marks may be used within a connection string without using delimiters (for example, Data Source= my'Server or Data Source= my"Server) unless a quotation-mark character is the first or last character in the value.

Um ein Gleichheitszeichen (=) in ein Schlüsselwort oder einen Wert enthalten, müssen sie einen anderen Gleichheitszeichen vorangestellt sein.To include an equal sign (=) in a keyword or value, it must be preceded by another equal sign. Z. B. in der Verbindungszeichenfolge für die hypothetischeFor example, in the hypothetical connection string

"key==word=value"  

Das Schlüsselwort "Schlüssel = Wort" und der Wert ist "Value".the keyword is "key=word" and the value is "value".

Wenn ein bestimmtes Schlüsselwort in einem Schlüsselwort = Wert-Paar tritt mehrmals in einer Verbindungszeichenfolge, das letzte Vorkommen aufgelistet wird in der festgelegte Wert verwendet.If a specific keyword in a keyword=value pair occurs multiple times in a connection string, the last occurrence listed is used in the value set.

Schlüsselwörter sind nicht in der Groß-/Kleinschreibung beachtet.Keywords are not case sensitive.

Achtung

Sie sollten Vorsicht verwenden, beim Erstellen einer Verbindungszeichenfolge, die basierend auf Benutzereingaben, z. B. beim Abrufen von Informationen für Benutzer-ID und Kennwort aus einem Dialogfeld und an die Verbindungszeichenfolge angefügt.You should use caution when constructing a connection string based on user input, for example, when retrieving user ID and password information from a dialog box and appending it to the connection string. Die Anwendung stellen Sie sicher, dass ein Benutzer zusätzliche Verbindungszeichenfolgen-Parameter in diese Werte, z. B. einbetten kann, die Eingabe eines Kennworts als "Validpassword; Database = Somedb" in beim Anfügen an eine andere Datenbank.The application should make sure that a user cannot embed additional connection-string parameters in these values, for example, entering a password as "validpassword;database= somedb" in an attempt to attach to a different database. Wenn Sie die Parameter der Verbindungszeichenfolge erweiterte Eigenschaften für OLE DB-Verbindungen verwenden, vermeiden Sie das Übergeben von Benutzer-IDs und Kennwörter, da das Speichern von Benutzer-IDs und Kennwörter in Klartext, wenn möglich sollten und die Standardeinstellung von Persist Security Info= false nicht Auswirkungen auf die Extended Properties Parameter.If you use the Extended Properties connection string parameter for OLE DB connections, avoid passing user IDs and passwords because you should avoid storing user IDs and passwords in clear text if you can, and because the default setting of Persist Security Info= false does not affect the Extended Properties parameter.

Gilt für:

Siehe auch