OleDbConnection.ConnectionString Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar eller anger strängen som används för att öppna en databas.
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
Egenskapsvärde
OLE DB-providern reťazec pripojenia som innehåller datakällans namn och andra parametrar som behövs för att upprätta den första anslutningen. Standardvärdet är en tom sträng.
Implementeringar
- Attribut
Undantag
Ett ogiltigt reťazec pripojenia argument har angetts eller ett obligatoriskt reťazec pripojenia argument har inte angetts.
Exempel
I följande exempel skapas en OleDbConnection och vissa av dess egenskaper anges i reťazec pripojenia.
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
Kommentarer
ConnectionString är utformad för att matcha OLE DB-reťazec pripojenia format så nära som möjligt med följande undantag:
Satsen "Provider =
value" krävs. Du kan dock inte använda "Provider = MSDASQL" eftersom .NET Framework-Data Provider för OLE DB inte stöder OLE DB-providern för ODBC (MSDASQL). Om du vill komma åt ODBC-datakällor använder du objektet OdbcConnection som finns i System.Data.Odbc namnområdet.Till skillnad från ODBC eller ADO är den reťazec pripojenia som returneras samma som användaruppsättningen ConnectionString, minus säkerhetsinformation om
Persist Security Infoär inställd påfalse(standard). .NET Framework-Data Provider för OLE DB bevaras inte eller returnerar inte lösenordet i en reťazec pripojenia om du inte anger nyckelordetPersist Security Infotilltrue(rekommenderas inte). För att upprätthålla en hög säkerhetsnivå rekommenderar vi starkt att du använder nyckelordetIntegrated SecuritymedPersist Security Infoinställt påfalse.
Du kan använda egenskapen ConnectionString för att ansluta till en mängd olika datakällor. I följande exempel visas flera möjliga anslutningssträngar.
"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"
Om nyckelordet Data Source inte anges i reťazec pripojenia försöker providern ansluta till den lokala servern om en är tillgänglig.
Mer information om anslutningssträngar finns i Använda nyckelord för anslutningssträngar med SQL Server intern klient.
Egenskapen ConnectionString kan bara anges när anslutningen stängs. Många av de reťazec pripojenia värdena har motsvarande skrivskyddade egenskaper. När reťazec pripojenia har angetts uppdateras dessa egenskaper, förutom när ett fel identifieras. I det här fallet uppdateras ingen av egenskaperna. OleDbConnection egenskaper returnerar endast de inställningar som finns i ConnectionString.
Om du återställer ConnectionString på en stängd anslutning återställs alla reťazec pripojenia värden och relaterade egenskaper. Detta inkluderar lösenordet. Om du till exempel anger en reťazec pripojenia som innehåller "Initial Catalog= AdventureWorks" och sedan återställer reťazec pripojenia till "Provider= SQLOLEDB; Datakälla= MySQLServer; IntegratedSecurity=SSPI", är egenskapen Database inte längre inställd på AdventureWorks. (Det inledande katalogvärdet för reťazec pripojenia motsvarar egenskapen Database.)
En preliminär validering av reťazec pripojenia utförs när egenskapen har angetts. Om värden för Provider, Connect Timeout, Persist Security Infoeller OLE DB Services ingår i strängen, kontrolleras dessa värden. När ett program anropar metoden Open verifieras reťazec pripojenia fullständigt. Om reťazec pripojenia innehåller ogiltiga eller egenskaper som inte stöds genereras ett körningsfel, till exempel ArgumentException.
Caution
Det är möjligt att ange anslutningsinformation för en OleDbConnection i en UDL-fil (Universal Data Link), men du bör undvika att göra det. UDL-filer krypteras inte och exponerar reťazec pripojenia information i klartext. Eftersom en UDL-fil är en extern filbaserad resurs i ditt program kan den inte skyddas med hjälp av .NET Framework.
Det grundläggande formatet för en reťazec pripojenia innehåller en serie nyckelord/värdepar avgränsade med semikolon. Likhetstecknet (=) ansluter varje nyckelord och dess värde. Om du vill inkludera värden som innehåller ett semikolon, encitattecken eller ett dubbelcitattecken måste värdet omges av dubbla citattecken. Om värdet innehåller både ett semikolon och ett dubbelcitattecken kan värdet omges av enkla citattecken. Det enkla citattecknet är också användbart om värdet börjar med ett dubbelcitattecken. Omvänt kan det dubbla citattecknet användas om värdet börjar med ett enkelt citattecken. Om värdet innehåller både enkla citattecken och dubbla citattecken måste det citattecken som används för att omsluta värdet fördubblas varje gång det inträffar inom värdet.
Om du vill inkludera föregående eller avslutande blanksteg i strängvärdet måste värdet omges av antingen enkla citattecken eller dubbla citattecken. Alla inledande eller avslutande blanksteg runt heltal, booleska eller uppräknade värden ignoreras, även om de omges av citattecken. Blanksteg inom ett strängliteralt nyckelord eller värde bevaras dock. Enkla eller dubbla citattecken kan användas inom en reťazec pripojenia utan att avgränsare används (till exempel Data Source= my'Server eller Data Source= my"Server) såvida inte ett citattecken är det första eller sista tecknet i värdet.
Om du vill inkludera ett likhetstecken (=) i ett nyckelord eller värde måste det föregås av ett annat likhetstecken. I följande hypotetiska reťazec pripojenia är nyckelordet till exempel "key=word" och värdet är "value".
"key==word=value"
Om ett specifikt nyckelord i ett keyword=value-par inträffar flera gånger i en reťazec pripojenia används den sista förekomsten som anges i värdeuppsättningen.
Nyckelord är inte skiftlägeskänsliga.
Caution
Du bör vara försiktig när du skapar en reťazec pripojenia baserat på användarindata, till exempel när du hämtar användar-ID och lösenordsinformation från en dialogruta och lägger till den i reťazec pripojenia. Programmet bör se till att en användare inte kan bädda in ytterligare anslutningssträngsparametrar i dessa värden, till exempel ange ett lösenord som "validpassword; database= somedb" i ett försök att ansluta till en annan databas. Om du använder parametern Extended Properties reťazec pripojenia för OLE DB-anslutningar bör du undvika att skicka användar-ID:t och lösenorden eftersom du bör undvika att lagra användar-ID:t och lösenord i klartext, och eftersom standardinställningen Persist Security Info= false inte påverkar parametern Extended Properties.