OleDbConnection.ConnectionString Eigenschaft

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:
 property System::String ^ ConnectionString { System::String ^ get(); void set(System::String ^ value); };
[System.ComponentModel.SettingsBindable(true)]
[System.Data.DataSysDescription("OleDbConnection_ConnectionString")]
public string ConnectionString { get; set; }
member this.ConnectionString : string with get, set
Public Property ConnectionString As String

Eigenschaftswert

Die Verbindungszeichenfolge des OLE DB-Providers, die den Namen der Datenquelle und weitere für das 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

Attribute

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

Im folgenden Beispiel wird ein OleDbConnection erstellt und einige seiner Eigenschaften in der Verbindungs Zeichenfolge 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

Der ConnectionString ist so konzipiert, dass er OLE DB Format der Verbindungs Zeichenfolge so genau wie möglich mit den folgenden Ausnahmen übereinstimmt:The ConnectionString is designed to match OLE DB connection string format as closely as possible with the following exceptions:

  • Die "Provider = value"-Klausel ist erforderlich.The "Provider = value " clause is required. Es ist jedoch nicht möglich, "Provider = MSDASQL" zu verwenden, da die .NET Framework Datenanbieter für OLE DB den 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 auf ODBC-Datenquellen zuzugreifen, verwenden Sie das OdbcConnection-Objekt im 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 zurückgegebene Verbindungs Zeichenfolge mit der ConnectionStringdes Benutzer Satzes identisch, abzüglich der Sicherheitsinformationen, wenn Persist Security Info auf false (Standard) festgelegt ist.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). Der .NET Framework Datenanbieter für OLE DB speichert oder gibt das Kennwort nicht in einer Verbindungs Zeichenfolge zurück, es sei denn, Sie legen das Persist Security Info Schlüsselwort auf true fest (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, dass Sie das Integrated Security-Schlüsselwort verwenden, wenn Persist Security Info auf falsefestgelegt ist.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 verwenden, um eine Verbindung mit einer Vielzahl von Datenquellen herzustellen.You can use the ConnectionString property to connect to a variety of data sources. Im folgenden Beispiel werden mehrere mögliche Verbindungs Zeichenfolgen veranschaulicht.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 das Data Source-Schlüsselwort nicht in der Verbindungs Zeichenfolge angegeben ist, versucht der Anbieter, eine Verbindung mit dem lokalen Server herzustellen, 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 Verbindungs Zeichenfolgen finden Sie unter Verwenden von Schlüsselwörtern für Verbindungs Zeichenfolgen 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 nur festgelegt werden, wenn die Verbindung geschlossen wird.The ConnectionString property can be set only when the connection is closed. Viele der Verbindungs Zeichen folgen Werte haben entsprechende schreibgeschützte Eigenschaften.Many of the connection string values have corresponding read-only properties. Wenn die Verbindungs Zeichenfolge festgelegt ist, werden diese Eigenschaften aktualisiert, es sei denn, es wird ein Fehler erkannt.When the connection string is set, these properties are updated, except when an error is detected. In diesem Fall wird keine der Eigenschaften aktualisiert.In this case, none of the properties are updated. OleDbConnection Eigenschaften geben nur die Einstellungen zurück, die in der ConnectionStringenthalten sind.OleDbConnection properties return only those settings that are contained in the ConnectionString.

Durch das Zurücksetzen des ConnectionString bei einer geschlossenen Verbindung werden alle Verbindungs Zeichenfolgen-Werte und zugehörigen Eigenschaften zurückgesetzt.Resetting the ConnectionString on a closed connection resets all connection string values and related properties. Dies schließt das Kennwort ein.This includes the password. Wenn Sie z. b. eine Verbindungs Zeichenfolge mit "Initial Catalog = AdventureWorks" festlegen und anschließend die Verbindungs Zeichenfolge auf "Provider = SQLOLEDB; Data Source = MySqlServer; IntegratedSecurity = SSPI" zurücksetzen, wird die Database-Eigenschaft nicht mehr auf festgelegt. 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 Anfangs Katalogwert der Verbindungs Zeichenfolge entspricht der Database-Eigenschaft.)(The Initial Catalog value of the connection string corresponds to the Database property.)

Eine vorläufige Validierung der Verbindungs Zeichenfolge wird ausgeführt, wenn die-Eigenschaft festgelegt wird.A preliminary validation of the connection string is performed when the property is set. Wenn Werte für die Provider, Connect Timeout, Persist Security Infooder OLE DB Services in der Zeichenfolge enthalten sind, werden diese Werte geprü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 die Open-Methode aufruft, wird die Verbindungs Zeichenfolge vollständig überprüft.When an application calls the Open method, the connection string is fully validated. Wenn die Verbindungs Zeichenfolge ungültige oder nicht unterstützte Eigenschaften enthält, wird eine Lauf Zeit Ausnahme (z. b. ArgumentException) generiert.If the connection string contains invalid or unsupported properties, a run-time exception, such as ArgumentException, is generated.

Achtung

Es ist möglich, Verbindungsinformationen für eine OleDbConnection in einer Universal Data Link-Datei (UDL) bereitzustellen. Sie sollten dies jedoch 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 Verbindungs Zeichenfolge als Klartext verfügbar.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 Verbindungs Zeichenfolge enthält eine Reihe von Schlüsselwort-Wert-Paaren, die durch Semikolons getrennt sind.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. Der Wert muss in doppelte Anführungszeichen eingeschlossen werden, um Werte mit einem Semikolon, einem einfachen Anführungszeichen oder einem doppelten Anführungszeichen einzuschließen.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 als auch 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 doppelten Anführungszeichen beginnt.The single quotation mark is also useful if the value starts with a double-quote character. Umgekehrt 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 als auch doppelte Anführungszeichen enthält, muss das Anführungszeichen, das zum Einschließen des Werts verwendet wird, bei jedem Eintreten innerhalb des Werts verdoppelt werden.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 vorangehende oder nachfolgende Leerzeichen in den Zeichen folgen Wert einzuschließen, muss der Wert entweder in einfache Anführungszeichen oder in 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. Alle führenden oder nachfolgenden Leerzeichen um ganzzahlige, boolesche Werte oder enumerierte Werte werden ignoriert, auch wenn Sie in Anführungszeichen eingeschlossen sind.Any leading or trailing spaces around integer, Boolean, or enumerated values are ignored, even if enclosed in quotation marks. Leerzeichen innerhalb eines zeichenfolgenliteralschlüsselworts oder Werts werden jedoch beibehalten.However, spaces within a string literal keyword or value are preserved. Einfache oder doppelte Anführungszeichen können in einer Verbindungs Zeichenfolge ohne Trennzeichen (z. b. Data Source= my'Server oder Data Source= my"Server) verwendet werden, es sei denn, ein Anführungszeichen ist das erste oder letzte Zeichen im Wert.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 einzufügen, muss ihm ein anderes Gleichheitszeichen vorangestellt werden.To include an equal sign (=) in a keyword or value, it must be preceded by another equal sign. Beispielsweise in der hypothetischen Verbindungs Zeichenfolge.For example, in the hypothetical connection string

"key==word=value"  

Das Schlüsselwort ist "Key = Word", 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 mehrmals in einer Verbindungs Zeichenfolge auftritt, wird das zuletzt aufgeführte Vorkommen im festgelegten 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.

Bei Schlüsselwörtern wird die Groß-/KleinschreibungKeywords are not case sensitive.

Achtung

Sie sollten Vorsicht walten lassen, wenn Sie eine Verbindungs Zeichenfolge auf der Grundlage von Benutzereingaben erstellen, z. b. Wenn Sie Benutzer-ID-und Kenn Wort Informationen aus einem Dialogfeld Abrufen und an die Verbindungs Zeichenfolge anhängen.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 muss sicherstellen, dass ein Benutzer keine zusätzlichen Verbindungs Zeichen folgen Parameter in diese Werte einbettet, z. b. ein Kennwort als "validpassword; database = somedb" eingeben, um eine Verbindung mit einer anderen Datenbank herzustellen.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 den Verbindungs Zeichenfolgen-Parameter für erweiterte Eigenschaften für OLE DB Verbindungen verwenden, vermeiden Sie das Übergeben von Benutzer-IDs und Kenn Wörtern, da Sie das Speichern von Benutzer-IDs und Kenn Wörtern in Klartext vermeiden sollten, wenn dies möglich ist, und da die Standardeinstellung von Persist Security Info= false nicht der 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