Kapcsolati sztringek a ADO.NET
A kapcsolati sztring inicializálási információkat tartalmaz, amelyeket paraméterként ad át egy adatszolgáltatótól egy adatforrásnak. Az adatszolgáltató a tulajdonság értékeként kapja meg a DbConnection.ConnectionString kapcsolati sztring. A szolgáltató elemzi a kapcsolati sztring, és biztosítja, hogy a szintaxis helyes legyen, és hogy a kulcsszavak támogatottak legyenek. Ezután a DbConnection.Open() metódus átadja az elemezt kapcsolati paramétereket az adatforrásnak. Az adatforrás további ellenőrzést végez, és kapcsolatot hoz létre.
Kapcsolati sztring szintaxisa
A kapcsolati sztring a kulcs/érték paraméterpárok pontosvesszővel tagolt listája:
keyword1=value; keyword2=value;
A kulcsszavak nem megkülönböztetik a kis- és nagybetűket. Az értékek azonban az adatforrástól függően megkülönböztethetők a kis- és nagybetűktől. A kulcsszavak és az értékek egyaránt tartalmazhatnak szóköz karaktereket. A kezdő és a záró szóköz figyelmen kívül lesz hagyva a kulcsszavakban és a nem jegyzett értékekben.
Ha egy érték pontosvesszőt, Unicode-vezérlőkaraktereket, illetve kezdő vagy záró szóközt tartalmaz, akkor azt egy- vagy dupla idézőjelek közé kell foglalni. Példa:
Keyword=" whitespace ";
Keyword='special;character';
Előfordulhat, hogy a beágyazó karakter nem a benne foglalt értéken belül jelenik meg. Ezért egyetlen idézőjelet tartalmazó érték csak kettős idézőjelek közé helyezhető, és fordítva:
Keyword='double"quotation;mark';
Keyword="single'quotation;mark";
A beágyazó karaktert úgy is elkerülheti, ha kettővel együtt használja őket:
Keyword="double""quotation";
Keyword='single''quotation';
Maguk az idézőjelek, valamint az egyenlőségjel nem igényelnek menekülést, ezért a következő kapcsolati sztring érvényesek:
Keyword=no "escaping" 'required';
Keyword=a=b=c
Mivel az egyes értékek a következő pontosvesszőig vagy a sztring végéig lesznek beolvasva, az utóbbi példában a=b=c
az érték az , és az utolsó pontosvessző megadása nem kötelező.
Minden kapcsolati sztring ugyanazzal az alapszintaxisával rendelkezik, mint korábban. A felismert kulcsszavak halmaza azonban a szolgáltatótól függ, és a korábbi API-k, például az ODBC évek óta fejlődik. Az SQL Server .NET-keretrendszer adatszolgáltatója (SqlClient
) számos, régebbi API-ból származó kulcsszót támogat, de általában rugalmasabb, és számos gyakori kapcsolati sztring kulcsszó szinonimáit elfogadja.
A gépelési hibák hibákat okozhatnak. Például érvényes, Integrated Security=true
de IntegratedSecurity=true
hibát okoz.
A nem értékelt felhasználói bemenetből manuálisan létrehozott kapcsolati sztringek sebezhetők a sztringinjektálási támadások ellen, és veszélyeztetik az adatforrás biztonságát. A problémák megoldásához ADO.NET 2.0 kapcsolati sztring-szerkesztőket vezetett be az egyes .NET-keretrendszer adatszolgáltatókhoz. Ezek a kapcsolati sztring készítők erősen gépelt tulajdonságokként teszik elérhetővé a paramétereket, és lehetővé teszik a kapcsolati sztring érvényesítését, mielőtt elküldené őket az adatforrásnak.
Fontos
A Microsoft azt javasolja, hogy a legbiztonságosabb hitelesítési folyamatot használja. Ha azure SQL-hez csatlakozik, az Azure-erőforrások felügyelt identitásai az ajánlott hitelesítési módszer.
A szakasz tartalma
Kapcsolati sztringkészítők
Bemutatja, hogyan hozhat létre érvényes kapcsolati sztring futásidőben az ConnectionStringBuilder
osztályok használatával.
Kapcsolati sztringek és konfigurációs fájlok
Bemutatja, hogyan tárolhat és kérhet le kapcsolati sztring konfigurációs fájlokban.
Kapcsolati sztring szintaxisa
Ismerteti, hogyan konfigurálhat szolgáltatóspecifikus kapcsolati sztring a SqlClient
, OracleClient
, OleDb
és Odbc
.
Kapcsolatadatok védelme
Bemutatja az adatforrásokhoz való csatlakozáshoz használt információk védelmének technikáit.