Freigeben über


OleDbConnection.ConnectionString Eigenschaft

Definition

Ruft die Zeichenfolge ab, mit der eine Datenbank geöffnet wird, oder legt diese fest.

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

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.

Beispiele

Im folgenden Beispiel wird ein OleDbConnection erstellt und einige seiner Eigenschaften im Verbindungszeichenfolge festgelegt.

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 ist so konzipiert, dass ole DB-Verbindungszeichenfolge Format so genau wie möglich mit den folgenden Ausnahmen übereinstimmt:

  • Die Klausel "Provider = value " ist erforderlich. Sie können jedoch "Provider = MSDASQL" nicht verwenden, da der .NET Framework-Datenanbieter für OLE DB den OLE DB-Anbieter für ODBC (MSDASQL) nicht unterstützt. Verwenden Sie für den Zugriff auf ODBC-Datenquellen das OdbcConnection -Objekt, System.Data.Odbc das sich im -Namespace befindet.

  • Im Gegensatz zu ODBC oder ADO ist die zurückgegebene Verbindungszeichenfolge identisch mit dem BenutzersatzConnectionString, abzüglich der Sicherheitsinformationen, wenn Persist Security Info auf false (Standard) festgelegt ist. Der .NET Framework-Datenanbieter für OLE DB behält das Kennwort nicht bei oder gibt es in einer Verbindungszeichenfolge zurück, es sei denn, Sie legen die Persist Security Info Schlüsselwort (keyword) auf true fest (nicht empfohlen). Um ein hohes Sicherheitsniveau zu gewährleisten, wird dringend empfohlen, die Integrated Security Schlüsselwort (keyword) mit Persist Security Info auf festgelegt zu falseverwenden.

Sie können die ConnectionString -Eigenschaft verwenden, um eine Verbindung mit einer Vielzahl von Datenquellen herzustellen. Im folgenden Beispiel werden mehrere mögliche Verbindungszeichenfolgen veranschaulicht.

"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 (keyword) im Verbindungszeichenfolge nicht angegeben ist, versucht der Anbieter, eine Verbindung mit dem lokalen Server herzustellen, sofern verfügbar.

Weitere Informationen zu Verbindungszeichenfolgen finden Sie unter Verwenden von Schlüsselwörtern für Verbindungszeichenfolgen mit SQL Server Native Client.

Die ConnectionString -Eigenschaft kann nur festgelegt werden, wenn die Verbindung geschlossen wird. Viele der Verbindungszeichenfolge-Werte verfügen über entsprechende schreibgeschützte Eigenschaften. Wenn die Verbindungszeichenfolge festgelegt ist, werden diese Eigenschaften aktualisiert, es sei denn, es wird ein Fehler erkannt. In diesem Fall wird keine der Eigenschaften aktualisiert. OleDbConnection -Eigenschaften geben nur die Einstellungen zurück, die ConnectionStringin enthalten sind.

Beim Zurücksetzen von für ConnectionString eine geschlossene Verbindung werden alle Verbindungszeichenfolge Werte und zugehörigen Eigenschaften zurückgesetzt. Dies schließt das Kennwort ein. Wenn Sie beispielsweise eine Verbindungszeichenfolge festlegen, die "Initial Catalog= AdventureWorks" enthält, und setzen Sie dann die Verbindungszeichenfolge auf "Provider= SQLOLEDB; Datenquelle= MySQLServer; IntegratedSecurity=SSPI", ist die Database Eigenschaft nicht mehr auf AdventureWorks festgelegt. (Der Anfangskatalogwert des Verbindungszeichenfolge entspricht der Database -Eigenschaft.)

Beim Festlegen der Eigenschaft wird eine vorläufige Validierung des Verbindungszeichenfolge ausgeführt. Wenn Werte für , ProviderConnect Timeout, Persist Security Infooder OLE DB Services in der Zeichenfolge enthalten sind, werden diese Werte überprüft. Wenn eine Anwendung die Open -Methode aufruft, wird die Verbindungszeichenfolge vollständig überprüft. Wenn die Verbindungszeichenfolge ungültige oder nicht unterstützte Eigenschaften enthält, wird eine Laufzeit-Ausnahme wie ArgumentExceptiongeneriert.

Achtung

Es ist möglich, Verbindungsinformationen für eine OleDbConnection in einer UDL-Datei (Universal Data Link) bereitzustellen. Sie sollten dies jedoch vermeiden. UDL-Dateien sind nicht verschlüsselt und machen Verbindungszeichenfolge Informationen in Klartext verfügbar. Da es sich bei einer UDL-Datei um eine externe Ressource der Anwendung handelt, kann sie nicht mit .NET Framework gesichert werden.

Das Basisformat eines Verbindungszeichenfolge enthält eine Reihe von Schlüsselwort (keyword)-Wert-Paaren, die durch Semikolons getrennt sind. Ein Gleichheitszeichen (=) verbindet jedes Schlüsselwort mit seinem Wert. Um Werte einzuschließen, die ein Semikolon, ein einfaches Anführungszeichen oder ein doppeltes Anführungszeichen enthalten, muss der Wert in doppelte Anführungszeichen eingeschlossen werden. Wenn der Wert sowohl ein Semikolon als auch ein doppeltes Anführungszeichen enthält, kann der Wert in einfache Anführungszeichen eingeschlossen werden. Das einfache Anführungszeichen ist auch nützlich, wenn der Wert mit einem doppelten Anführungszeichen beginnt. Umgekehrt kann das doppelte Anführungszeichen verwendet werden, wenn der Wert mit einem einfachen Anführungszeichen beginnt. Wenn der Wert sowohl einfache als auch doppelte Anführungszeichen enthält, muss das Zum Einschließen des Werts verwendete Anführungszeichen jedes Mal verdoppelt werden, wenn er innerhalb des Werts auftritt.

Um vorangehende oder nachfolgende Leerzeichen in den Zeichenfolgenwert einzuschließen, muss der Wert entweder in einfache Anführungszeichen oder doppelte Anführungszeichen eingeschlossen werden. Alle führenden oder nachfolgenden Leerzeichen um ganzzahlige, boolesche oder aufgezählte Werte werden ignoriert, auch wenn sie in Anführungszeichen eingeschlossen sind. Leerzeichen innerhalb eines Zeichenfolgenliterals Schlüsselwort (keyword) oder -Werts werden jedoch beibehalten. Einfache oder doppelte Anführungszeichen können innerhalb eines Verbindungszeichenfolge ohne Trennzeichen (z. B. oder Data Source= my"Server) verwendet werden, es sei denn, Data Source= my'Server ein Anführungszeichen ist das erste oder letzte Zeichen im Wert.

Um ein Gleichheitszeichen (=) in eine Schlüsselwort (keyword) oder einen Wert einzuschließen, muss ihm ein weiteres Gleichheitszeichen vorangestellt werden. Beispielsweise in der hypothetischen Verbindungszeichenfolge

"key==word=value"

der Schlüsselwort (keyword) ist "key=word" und der Wert ist "value".

Wenn ein bestimmter Schlüsselwort (keyword) in einem Schlüsselwort (keyword)=Wert-Paar mehrmals in einer Verbindungszeichenfolge auftritt, wird das letzte aufgeführte Vorkommen im Wertsatz verwendet.

Bei Schlüsselwörtern wird die Groß-/Kleinschreibung nicht beachtet.

Achtung

Beim Erstellen eines Verbindungszeichenfolge basierend auf Benutzereingaben sollten Sie vorsichtig vorgehen, z. B. beim Abrufen von Benutzer-ID- und Kennwortinformationen aus einem Dialogfeld und beim Anfügen an die Verbindungszeichenfolge. Die Anwendung sollte sicherstellen, dass ein Benutzer keine zusätzlichen Verbindungszeichenfolgenparameter in diese Werte einbetten kann, z. B. die Eingabe eines Kennworts als "validpassword; database= somedb" beim Versuch, an eine andere Datenbank anzufügen. Wenn Sie den Parameter Erweiterte Eigenschaften Verbindungszeichenfolge für OLE DB-Verbindungen verwenden, vermeiden Sie die Übergabe von Benutzer-IDs und Kennwörtern, da Sie das Speichern von Benutzer-IDs und Kennwörtern in Klartext vermeiden sollten, sofern möglich, und da die Standardeinstellung von Persist Security Info= false nicht den Extended Properties Parameter beeinflusst.

Gilt für:

Weitere Informationen