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

String

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 eine OleDbConnection Reihe 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 Klausel "Provider = value " ist erforderlich. Sie können jedoch "Provider = MSDASQL" nicht verwenden, da die .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 Benutzersatz ConnectionString, minus Sicherheitsinformationen, wenn Persist Security Info sie festgelegt false sind (Standard). Die .NET Framework Datenanbieter für OLE DB bleibt nicht erhalten oder gibt das Kennwort in einer Verbindungszeichenfolge zurück, es sei denn, Sie legen das Persist Security Info Schlüsselwort true fest (nicht empfohlen). Um ein hohes Sicherheitsniveau beizubehalten, empfiehlt es sich dringend, 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 Schlüsselwort nicht in der Verbindungszeichenfolge angegeben ist, versucht der Data Source Anbieter, eine Verbindung mit dem lokalen Server herzustellen, wenn eine verfügbar ist.

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

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

Wenn Sie die ConnectionString Verbindung in einer geschlossenen Verbindung zurücksetzen, werden alle Verbindungszeichenfolgenwerte und verwandte Eigenschaften zurückgesetzt. Dies umfasst das Kennwort. Wenn Sie beispielsweise eine Verbindungszeichenfolge festlegen, die "Initial Catalog= AdventureWorks" enthält, und setzen Sie dann die Verbindungszeichenfolge auf "Provider= SQLOLEDB;Data Source= MySQLServer;IntegratedSecurity=SSPI" Database fest, die Eigenschaft wird nicht mehr auf AdventureWorks festgelegt. (Der Initial Catalog-Wert der Verbindungszeichenfolge entspricht der Database Eigenschaft.)

Eine vorläufige Überprüfung der Verbindungszeichenfolge wird ausgeführt, wenn die Eigenschaft festgelegt wird. 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 Methode aufruft, wird die Open Verbindungszeichenfolge vollständig überprüft. Wenn die Verbindungszeichenfolge ungültige oder nicht unterstützte Eigenschaften enthält, wird eine Laufzeit ausnahme, z ArgumentException. B. , generiert.

Achtung

Es ist möglich, Verbindungsinformationen für eine OleDbConnection universelle Datenlinkdatei (UDL) anzugeben. Sie sollten dies jedoch vermeiden. UDL-Dateien sind nicht verschlüsselt und stellen Verbindungszeichenfolgeninformationen im klaren Text zur Verfügung. 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-/Wertpaaren, die durch Semikolons getrennt sind. Ein Gleichheitszeichen (=) verbindet jedes Schlüsselwort mit seinem Wert. Um Werte einzuschließen, die ein Semikolon, ein 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 einzelne Anführungszeichen eingeschlossen werden. Das einzelne Anführungszeichen ist auch nützlich, wenn der Wert mit einem Doppelzeichen beginnt. Umgekehrt kann das Doppelte Anführungszeichen verwendet werden, wenn der Wert mit einem einzelnen Anführungszeichen beginnt. Wenn der Wert sowohl Anführungszeichen als auch doppelte Anführungszeichen enthält, muss das Anführungszeichen, das zum Einschließen des Werts verwendet wird, jedes Mal doppelt ausgeführt werden, wenn er innerhalb des Werts auftritt.

Um vorherige oder nachgestellte Leerzeichen im Zeichenfolgenwert einzuschließen, muss der Wert entweder in einzelne Anführungszeichen oder doppelte Anführungszeichen eingeschlossen werden. Alle führenden oder nachgestellten Leerzeichen um ganzzahlige, boolesche oder aufgezählte Werte werden ignoriert, auch wenn sie in Anführungszeichen eingeschlossen sind. Leerzeichen innerhalb eines Zeichenfolgen-Literalschlüsselworts oder -Werts bleiben jedoch erhalten. Einzelne oder doppelte Anführungszeichen können in einer Verbindungszeichenfolge verwendet werden, ohne Trennzeichen (z Data Source= my'Server Data Source= my"Server. B. oder ) zu verwenden, es sei denn, 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. Beispiel: in der hypothetischen Verbindungszeichenfolge

"key==word=value"  

das Schlüsselwort lautet "key=word", und der Wert ist "Wert".

Wenn ein bestimmtes Schlüsselwort in einem Schlüsselwort=Wertpaar mehrmals in einer Verbindungszeichenfolge auftritt, wird das letzte Vorkommen im Wertsatz verwendet.

Schlüsselwörter sind nicht Groß-/Kleinschreibung vertraulich.

Achtung

Sie sollten beim Erstellen einer Verbindungszeichenfolge, die auf der Benutzereingabe basiert, z. B. beim Abrufen von Benutzer-ID- und Kennwortinformationen aus einem Dialogfeld vorsichtsgeschützt und an die Verbindungszeichenfolge angefügt werden. Die Anwendung sollte sicherstellen, dass ein Benutzer keine zusätzlichen Verbindungszeichenfolgenparameter in diese Werte einbetten kann, z. B. das Eingeben eines Kennworts als "validpassword;database= somedb" in einem Versuch, an eine andere Datenbank anzufügen. Wenn Sie den Verbindungszeichenfolgenparameter "Erweiterte Eigenschaften" für OLE DB-Verbindungen verwenden, vermeiden Sie das Übergeben von Benutzer-IDs und Kennwörtern, da Sie das Speichern von Benutzer-IDs und Kennwörtern im Klartext vermeiden sollten, und da die Standardeinstellung Persist Security Info= false nicht auf den Extended Properties Parameter wirkt.

Gilt für:

Siehe auch