OleDbConnection.ConnectionString Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 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 Infosie festgelegtfalsesind (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 dasPersist Security InfoSchlüsselworttruefest (nicht empfohlen). Um ein hohes Sicherheitsniveau beizubehalten, empfiehlt es sich dringend, dasIntegrated SecuritySchlüsselwort mitPersist Security Infofestgelegtem Wert zufalseverwenden.
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.