Freigeben über


OleDbConnection.ConnectionString Eigenschaft

Definition

Dient zum Abrufen oder Festlegen der Zeichenfolge, die zum Öffnen einer Datenbank verwendet wird.

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 OLE DB-Anbieterverbindungszeichenfolge, die den Datenquellennamen und andere Parameter enthält, die zum Herstellen der anfänglichen Verbindung erforderlich sind. Der Standardwert ist eine leere Zeichenfolge.

Implementiert

Attribute

Ausnahmen

Es wurde ein ungültiges Verbindungszeichenfolgenargument angegeben, oder es wurde kein erforderliches Verbindungszeichenfolgenargument angegeben.

Beispiele

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

Dies ConnectionString ist so konzipiert, dass das OLE DB-Verbindungszeichenfolgenformat so genau wie möglich mit den folgenden Ausnahmen übereinstimmt:

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

  • Im Gegensatz zu ODBC oder ADO ist die zurückgegebene Verbindungszeichenfolge identisch mit dem vom Benutzer festgelegten ConnectionStringUnd minus Sicherheitsinformationen, wenn Persist Security Info sie auf (Standardeinstellung) festgelegt false ist. Der .NET Framework-Datenanbieter für OLE DB speichert oder gibt das Kennwort nicht in einer Verbindungszeichenfolge zurück, es sei denn, Sie legen das Persist Security Info Schlüsselwort auf true (nicht empfohlen). Um ein hohes Maß an Sicherheit aufrechtzuerhalten, wird dringend empfohlen, das Integrated Security Schlüsselwort mit Persist Security Info festgelegtem Wert 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 das Data Source Schlüsselwort in der Verbindungszeichenfolge nicht angegeben ist, versucht der Anbieter, eine Verbindung mit dem lokalen Server herzustellen, wenn ein Schlüsselwort verfügbar ist.

Weitere Informationen zu Verbindungszeichenfolgen finden Sie unter Verwenden von Verbindungszeichenfolgenstichwörtern mit SQL Server Native Client.

Die ConnectionString Eigenschaft kann nur festgelegt werden, wenn die Verbindung geschlossen wird. Viele der Verbindungszeichenfolgenwerte weisen entsprechende schreibgeschützte Eigenschaften auf. Wenn die Verbindungszeichenfolge festgelegt ist, werden diese Eigenschaften aktualisiert, außer wenn ein Fehler erkannt wird. In diesem Fall werden keine der Eigenschaften aktualisiert. OleDbConnection Eigenschaften geben nur die Einstellungen zurück, die in der ConnectionString.

Beim Zurücksetzen einer ConnectionString geschlossenen Verbindung werden alle Verbindungszeichenfolgenwerte und zugehörige 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" zurück. Datenquelle= MySQLServer; IntegratedSecurity=SSPI", die Database Eigenschaft ist nicht mehr auf AdventureWorks festgelegt. (Der Initial Catalog-Wert der Verbindungszeichenfolge entspricht der Database Eigenschaft.)

Beim Festlegen der Eigenschaft wird eine vorläufige Überprüfung der Verbindungszeichenfolge ausgeführt. Wenn Werte für die ProviderZeichenfolge , Connect 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 generiert, z ArgumentException. B.

Vorsicht

Es ist möglich, Verbindungsinformationen für eine OleDbConnection In einer UDL-Datei (Universal Data Link) anzugeben. Sie sollten dies jedoch vermeiden. UDL-Dateien sind nicht verschlüsselt und machen Verbindungszeichenfolgeninformationen im 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 grundlegende Format einer Verbindungszeichenfolge enthält eine Reihe von Schlüsselwort-Wert-Paaren, die durch Semikolons getrennt sind. Das Gleichheitszeichen (=) verbindet jedes Schlüsselwort und seinen Wert. Um Werte einzuschließen, die ein Semikolon, ein anführungszeichen oder 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 ein anführungszeichen als auch doppeltes 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 nachgestellten Leerzeichen um ganze Zahl, boolesche oder aufgezählte Werte werden ignoriert, auch wenn sie in Anführungszeichen eingeschlossen sind. Leerzeichen innerhalb eines Zeichenfolgenliteralschlüsselworts oder -werts bleiben jedoch erhalten. Einfache oder doppelte Anführungszeichen können innerhalb einer Verbindungszeichenfolge verwendet werden, ohne Trennzeichen (z. B. oder Data Source= my"Server) zu verwenden, es sei denn, Data Source= my'Server ein Anführungszeichen ist das erste oder letzte Zeichen im Wert.

Um ein Gleichheitszeichen (=) in ein Schlüsselwort oder einen Wert einzuschließen, muss es einem anderen Gleichheitszeichen vorangestellt werden. In der folgenden hypothetischen Verbindungszeichenfolge lautet das Schlüsselwort z. B. "key=word" und der Wert "Value".

"key==word=value"

Wenn ein bestimmtes Schlüsselwort in einem Schlüsselwort-Wert-Paar mehrmals in einer Verbindungszeichenfolge auftritt, wird das zuletzt aufgelistete Vorkommen in der Wertmenge verwendet.

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

Vorsicht

Beim Erstellen einer Verbindungszeichenfolge, z. B. beim Abrufen von Benutzer-ID- und Kennwortinformationen aus einem Dialogfeld und beim Anfügen an die Verbindungszeichenfolge, sollten Sie vorsichtshalber vorgehen. 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" in einem Versuch, an eine andere Datenbank anzufügen. Wenn Sie den Parameter für die Erweiterte Eigenschaften-Verbindungszeichenfolge für OLE DB-Verbindungen verwenden, vermeiden Sie das Übergeben von Benutzer-IDs und Kennwörtern, da Sie benutzer-IDs und Kennwörter nicht im Klartext speichern sollten, falls möglich, und da sich die Standardeinstellung Persist Security Info= false nicht auf den Extended Properties Parameter auswirkt.

Gilt für:

Weitere Informationen