Připojovací řetězce v ADO.NET

Připojovací řetězec obsahuje informace o inicializaci, které se předávají jako parametr zprostředkovatele dat do zdroje dat. Zprostředkovatel dat obdrží připojovací řetězec jako hodnotu DbConnection.ConnectionString vlastnosti. Zprostředkovatel analyzuje připojovací řetězec a zajišťuje správnost syntaxe a podporu klíčových slov. DbConnection.Open() Pak metoda předává parsované parametry připojení ke zdroji dat. Zdroj dat provede další ověření a vytvoří připojení.

Syntaxe připojovacího řetězce

Připojovací řetězec je seznam párů parametrů klíč/hodnota oddělený středníkem:

keyword1=value; keyword2=value;

Klíčová slova nerozlišují malá a velká písmena. V závislosti na zdroji dat ale můžou být citlivé na malá a velká písmena. Klíčová slova i hodnoty můžou obsahovat prázdné znaky. Počáteční a koncové prázdné znaky se ignorují v klíčových slovech a necitovaných hodnotách.

Pokud hodnota obsahuje středník, znaky ovládacího prvku Unicode nebo počáteční nebo koncové prázdné znaky, musí být uzavřeny do jednoduchých nebo dvojitých uvozovek. Příklad:

Keyword=" whitespace  ";
Keyword='special;character';

Uzavírací znak nemusí nastat v hodnotě, kterou uzavře. Proto lze hodnotu obsahující jednoduché uvozovky uzavřít pouze do dvojitých uvozovek a naopak:

Keyword='double"quotation;mark';
Keyword="single'quotation;mark";

Můžete také uvozit uzavírací znak pomocí dvou z nich dohromady:

Keyword="double""quotation";
Keyword='single''quotation';

Samotné uvozovky i znaménko rovná se nevyžadují uvozovky, takže jsou platné následující připojovací řetězec:

Keyword=no "escaping" 'required';
Keyword=a=b=c

Vzhledem k tomu, že každá hodnota je přečtená do dalšího středníku nebo konce řetězce, hodnota v druhém příkladu je a=b=ca poslední středník je nepovinný.

Všechny připojovací řetězec sdílejí stejnou základní syntaxi popsanou dříve. Sada rozpoznaných klíčových slov ale závisí na poskytovateli a v průběhu let se vyvinula z předchozích rozhraní API, jako je ODBC. Zprostředkovatel dat rozhraní .NET Framework pro SQL Server (SqlClient) podporuje mnoho klíčových slov ze starších rozhraní API, ale obecně flexibilnější a přijímá synonyma pro mnoho běžných klíčových slov připojovací řetězec.

Chyby při psaní můžou způsobit chyby. Je například Integrated Security=true platný, ale IntegratedSecurity=true způsobuje chybu.

Připojovací řetězce vytvořené ručně za běhu z nedůvěryhodného uživatelského vstupu jsou ohroženy útoky prostřednictvím injektáže řetězců a znepokojují zabezpečení ve zdroji dat. Pro řešení těchto problémů ADO.NET 2.0 zavedli tvůrci připojovací řetězec pro každého zprostředkovatele dat rozhraní .NET Framework. Tyto připojovací řetězec tvůrci zpřístupňují parametry jako vlastnosti silného typu a umožňují ověřit připojovací řetězec před odesláním do zdroje dat.

Důležité

Microsoft doporučuje používat nejbezpečnější dostupný tok ověřování. Pokud se připojujete k Azure SQL, spravované identity pro prostředky Azure se doporučují metodou ověřování.

V této části

Tvůrci připojovacích řetězců
Demonstruje použití ConnectionStringBuilder tříd k vytvoření platných připojovací řetězec za běhu.

Připojovací řetězce a konfigurační soubory
Ukazuje, jak ukládat a načítat připojovací řetězec v konfiguračních souborech.

Syntaxe připojovacího řetězce
Popisuje, jak nakonfigurovat připojovací řetězec specifické pro poskytovatele pro SqlClient, OracleClientOleDb, a Odbc.

Ochrana informací o připojení
Demonstruje techniky ochrany informací používaných pro připojení ke zdroji dat.

Viz také