Anslutningssträngar i ADO.NET
En anslutningssträng innehåller initieringsinformation som skickas som en parameter från en dataprovider till en datakälla. Dataprovidern tar emot anslutningssträng som värdet för DbConnection.ConnectionString egenskapen. Providern parsar anslutningssträng och ser till att syntaxen är korrekt och att nyckelorden stöds. DbConnection.Open() Sedan skickar metoden de parsade anslutningsparametrarna till datakällan. Datakällan utför ytterligare verifiering och upprättar en anslutning.
Syntax för anslutningssträng
En anslutningssträng är en semikolonavgränsad lista över nyckel-/värdepar:
keyword1=value; keyword2=value;
Nyckelord är inte skiftlägeskänsliga. Värden kan dock vara skiftlägeskänsliga, beroende på datakällan. Både nyckelord och värden kan innehålla blankstegstecken. Inledande och avslutande blanksteg ignoreras i nyckelord och ociterade värden.
Om ett värde innehåller semikolon, Unicode-kontrolltecken eller inledande eller avslutande blanksteg måste det omges av enkla eller dubbla citattecken. Till exempel:
Keyword=" whitespace ";
Keyword='special;character';
Det omslutande tecknet kanske inte inträffar inom det värde som det omsluter. Därför kan ett värde som innehåller enkla citattecken endast omges av dubbla citattecken och vice versa:
Keyword='double"quotation;mark';
Keyword="single'quotation;mark";
Du kan också undvika det omslutande tecknet genom att använda två av dem tillsammans:
Keyword="double""quotation";
Keyword='single''quotation';
Citattecknen själva, liksom likhetstecknet, kräver inte utrymning, så följande anslutningssträng är giltiga:
Keyword=no "escaping" 'required';
Keyword=a=b=c
Eftersom varje värde läss till nästa semikolon eller slutet av strängen är a=b=c
värdet i det senare exemplet , och det slutliga semikolonet är valfritt.
Alla anslutningssträng delar samma grundläggande syntax som beskrevs tidigare. Uppsättningen identifierade nyckelord beror dock på providern och har utvecklats under åren från tidigare API:er, till exempel ODBC. .NET Framework-dataprovidern för SQL Server (SqlClient
) stöder många nyckelord från äldre API:er, men är vanligtvis mer flexibel och accepterar synonymer för många av de vanliga anslutningssträng nyckelorden.
Att skriva fel kan orsaka fel. Är till exempel Integrated Security=true
giltigt, men IntegratedSecurity=true
orsakar ett fel.
Anslutningssträngar som konstrueras manuellt vid körning från ovaliderade användarindata är sårbara för stränginmatningsattacker och äventyrar säkerheten i datakällan. För att lösa dessa problem introducerade ADO.NET 2.0 anslutningssträng-byggare för varje .NET Framework-dataprovider. Dessa anslutningssträng byggare exponerar parametrar som starkt skrivna egenskaper och gör det möjligt att verifiera anslutningssträng innan den skickas till datakällan.
Viktigt!
Microsoft rekommenderar att du använder det säkraste tillgängliga autentiseringsflödet. Om du ansluter till Azure SQL är hanterade identiteter för Azure-resurser den rekommenderade autentiseringsmetoden.
I detta avsnitt
Byggare av anslutningssträngar
Visar hur du använder klasserna ConnectionStringBuilder
för att skapa giltiga anslutningssträng vid körning.
Anslutningssträngar och konfigurationsfiler
Visar hur du lagrar och hämtar anslutningssträng i konfigurationsfiler.
Syntax för anslutningssträng
Beskriver hur du konfigurerar providerspecifika anslutningssträng för SqlClient
, OracleClient
, OleDb
och Odbc
.
Skydda anslutningsinformation
Demonstrerar tekniker för att skydda information som används för att ansluta till en datakälla.