Sdílet prostřednictvím


Syntaxe připojovacího řetězce

Každý zprostředkovatel dat rozhraní .NET Framework má objekt Connection, který dědí z DbConnection a má vlastnost ConnectionString specifickou pro daného zprostředkovatele. Konkrétní syntaxe připojovacího řetězce pro každého zprostředkovatele je zdokumentována v její ConnectionString vlastnosti. Následující tabulka uvádí čtyři zprostředkovatele dat, kteří jsou zahrnuti v rozhraní .NET Framework.

zprostředkovatel dat .NET Framework Popis
System.Data.SqlClient Poskytuje přístup k datům pro Microsoft SQL Server. Další informace o syntaxi připojovacího řetězce naleznete v oddílu ConnectionString.
System.Data.OleDb Poskytuje přístup k datům pro vystavené zdroje dat pomocí OLE DB. Další informace o syntaxi připojovacího řetězce viz ConnectionString.
System.Data.Odbc Poskytuje přístup k datům pro zdroje dat vystavené pomocí rozhraní ODBC. Další informace o syntaxi připojovacího řetězce najdete v ConnectionString.
System.Data.OracleClient Poskytuje přístup k datům pro Oracle verze 8.1.7 nebo novější. Další informace o syntaxi připojovacího řetězce naleznete v tématu ConnectionString.

Tvůrci připojovacích řetězců

ADO.NET 2.0 zavedlo následující tvůrce připojovacích řetězců pro poskytovatele dat pro rozhraní .NET Framework.

Tvůrci připojovacích řetězců umožňují vytvářet syntakticky platné připojovací řetězce za běhu, takže v kódu nemusíte ručně zřetězit hodnoty připojovacího řetězce. Další informace naleznete v tématu Tvůrci řetězců připojení.

Ověřování systému Windows

Ověřování systému Windows (někdy označované jako integrované zabezpečení) se dá použít k připojení ke zdrojům dat, které ho podporují. Syntaxe používaná v připojovacím řetězci se liší podle zprostředkovatele. Následující tabulka ukazuje syntaxi ověřování systému Windows používanou se zprostředkovateli dat rozhraní .NET Framework.

Poskytovatel Syntaxe
SqlClient Integrated Security=true;

-- or --

Integrated Security=SSPI;
OleDb Integrated Security=SSPI;
Odbc Trusted_Connection=yes;
OracleClient Integrated Security=yes;

Poznámka:

Integrated Security=true vyvolá výjimku při použití se zprostředkovatelem OleDb .

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 jsou doporučenou metodou ověřování.

Připojovací řetězce SqlClient

Syntaxe pro připojovací řetězec SqlConnection je zdokumentovaná ve vlastnosti SqlConnection.ConnectionString. Vlastnost ConnectionString můžete použít k získání nebo nastavení připojovacího řetězce pro databázi SQL Serveru. Pokud se potřebujete připojit ke starší verzi SQL Serveru, musíte použít rozhraní .NET Framework Zprostředkovatel dat pro OleDb (System.Data.OleDb). Většina klíčových slov v připojovacím řetězci se také mapuje na vlastnosti v SqlConnectionStringBuilder.

Důležité

Výchozí nastavení pro Persist Security Info klíčové slovo je false. Nastavením na true nebo yes umožňuje získat informace citlivé na zabezpečení, včetně ID uživatele a hesla, z připojení po jeho otevření. Ponechte Persist Security Info nastavenou na false, aby se zajistilo, že nedůvěryhodný zdroj nemá přístup k citlivým informacím o připojovacím řetězci.

Ověřování systému Windows pomocí SqlClient

Každá z následujících forem syntaxe používá ověřování systému Windows pro připojení k AdventureWorks databázi na místním serveru.

"Persist Security Info=False;Integrated Security=true;
    Initial Catalog=AdventureWorks;Server=MSSQL1"
"Persist Security Info=False;Integrated Security=SSPI;
    database=AdventureWorks;server=(local)"
"Persist Security Info=False;Trusted_Connection=True;
    database=AdventureWorks;server=(local)"

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 jsou doporučenou metodou ověřování.

Ověřování SQL Serveru pomocí SqlClient

Ověřování systému Windows je upřednostňované pro připojení k SQL Serveru (místně). Pokud je však vyžadováno ověřování SQL Serveru, zadejte uživatelské jméno a heslo pomocí následující syntaxe. V tomto příkladu se hvězdičky používají k reprezentaci platného uživatelského jména a hesla.

"Persist Security Info=False;User ID=*****;Password=*****;Initial Catalog=AdventureWorks;Server=MySqlServer"

Když se připojíte ke službě Azure SQL Database nebo k Azure SQL Data Warehouse a zadáte přihlašovací údaje ve formátu user@servername, ujistěte se, že servername hodnota v přihlášení odpovídá hodnotě zadané pro Server=.

Poznámka:

Ověřování systému Windows má přednost před přihlášeními k SQL Serveru. Pokud zadáte Integrated Security=true, i uživatelské jméno a heslo budou ignorována a použije se ověřování systému Windows.

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 jsou doporučenou metodou ověřování.

Připojení k pojmenované instanci SQL Serveru

Pokud se chcete připojit k pojmenované instanci SQL Serveru, použijte syntaxi názvu serveru\instance .

"Data Source=MySqlServer\\MSSQL1;"

Při vytváření připojovacího řetězce můžete také nastavit DataSource vlastnost názvu instance SqlConnectionStringBuilder. Vlastnost DataSource objektu SqlConnection je určena jen pro čtení.

Změny verzí systému typů

Klíčové Type System Version slovo v sadě SqlConnection.ConnectionString určuje reprezentaci typů SQL Serveru na straně klienta. Více informací o klíčovém slově Type System Version najdete na SqlConnection.ConnectionString.

Připojení a připojení k uživatelským instancím SQL Serveru Express

Instance uživatelů jsou funkcí SQL Serveru Express. Umožní uživateli, který běží na nejméně privilegovaném místním účtu Windows, připojit a spustit databázi SQL Serveru bez vyžadování oprávnění správce. Instance uživatele se spustí s přihlašovacími údaji windows uživatele, ne jako služba.

Další informace o práci s uživatelskými instancemi naleznete v části SQL Server Express Uživatelské Instance.

Použití TrustServerCertificate

Klíčové TrustServerCertificate slovo je platné pouze při připojování k instanci SQL Serveru s platným certifikátem. Když TrustServerCertificate je nastavená hodnota true, vrstva přenosu použije protokol SSL k šifrování kanálu a vynechá procházení řetězu certifikátů k ověření důvěryhodnosti.

"TrustServerCertificate=true;"

Poznámka:

Pokud je TrustServerCertificate nastaveno na true a šifrování je zapnuté, použije se úroveň šifrování zadaná na serveru, i když je Encrypt v připojovacím řetězci nastaveno na false. Jinak se připojení nezdaří.

Povolení šifrování

Chcete-li povolit šifrování, když není na serveru zřízen certifikát, je nutné nastavit v nástroji SQL Server Configuration Manager možnosti Vynucení šifrování protokolu a Důvěřovat serverovému certifikátu. V takovém případě šifrování použije certifikát serveru podepsaný svým držitelem bez ověření, pokud na serveru není zřízený žádný ověřitelný certifikát.

Nastavení aplikace nemůže snížit úroveň zabezpečení nakonfigurovanou na SQL Serveru, ale může ji volitelně posílit. Aplikace může požádat o šifrování nastavením TrustServerCertificate klíčových slov na Encrypttrue, který zaručuje, že šifrování proběhne i v případě, že certifikát serveru nebyl zřízen a vynucené šifrování protokolu nebylo nakonfigurováno pro klienta. Pokud TrustServerCertificate však není v konfiguraci klienta povolená, je stále vyžadován certifikát zřízeného serveru.

Následující tabulka popisuje všechny případy.

Nastavení vynucení šifrování protokolu pro klienta Nastavení klienta certifikátu serveru důvěryhodnosti Zašifrování/Použití šifrování pro připojovací řetězec/atribut dat Připojovací řetězec/atribut pro důvěřování certifikátu serveru Výsledek
Ne Ne (výchozí) Ignorováno Nedojde k žádnému šifrování.
Ne Ano Ne (výchozí) K šifrování dochází pouze v případě, že existuje ověřitelný certifikát serveru, jinak pokus o připojení selže.
Ne Ano Ano K šifrování vždy dochází, ale může používat certifikát serveru podepsaný svým držitelem.
Ano Ne Ignorováno Ignorováno K šifrování dochází pouze v případě, že existuje ověřitelný certifikát serveru; jinak pokus o připojení selže.
Ano Ano Ne (výchozí) Ignorováno K šifrování vždy dochází, ale může používat certifikát serveru podepsaný svým držitelem.
Ano Ano Ano Ne (výchozí) K šifrování dochází pouze v případě, že existuje ověřitelný certifikát serveru; jinak pokus o připojení selže.
Ano Ano Ano Ano K šifrování vždy dochází, ale může používat certifikát serveru podepsaný svým držitelem.

Další informace naleznete v tématu Použití šifrování bez ověření.

OleDb připojovací řetězec

ConnectionString Vlastnost OleDbConnection umožňuje získat nebo nastavit připojovací řetězec pro zdroj dat OLE DB, například Microsoft Access. Můžete také vytvořit OleDb připojovací řetězec za běhu pomocí třídy OleDbConnectionStringBuilder.

Syntaxe řetězce připojení OleDb

Je nutné zadat název zprostředkovatele pro OleDbConnection připojovací řetězec. Následující připojovací řetězec se připojí k databázi Microsoft Accessu pomocí zprostředkovatele Jet. Všimněte si, že User ID klíčová slova a Password klíčová slova jsou nepovinná, pokud je databáze nezabezpečená (výchozí).

Provider=Microsoft.Jet.OLEDB.4.0; Data Source=d:\Northwind.mdb;User ID=Admin;Password=;

Pokud je databáze Jet zabezpečená pomocí zabezpečení na úrovni uživatele, musíte zadat umístění informačního souboru pracovní skupiny (.mdw). Informační soubor pracovní skupiny slouží k ověření přihlašovacích údajů uvedených v připojovacím řetězci.

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\Northwind.mdb;Jet OLEDB:System Database=d:\NorthwindSystem.mdw;User ID=*****;Password=*****;

Důležité

V souboru UDL (Universal Data Link) je možné zadat informace o OleDbConnection připojení; nicméně, měli byste se tomu vyhnout. Soubory UDL nejsou šifrované a zveřejňují připojovací řetězec informace ve formátu prostého textu. Vzhledem k tomu, že soubor UDL je externím souborovým prostředkem pro vaši aplikaci, nelze ho zabezpečit pomocí rozhraní .NET Framework. Soubory UDL nejsou podporovány pro SqlClient.

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 jsou doporučenou metodou ověřování.

Připojení k Accessu nebo Jetu pomocí DataDirectory

DataDirectory není exkluzivní pro SqlClient. Lze jej také použít se zprostředkovateli dat .NET System.Data.OleDb a System.Data.Odbc. Následující ukázkový OleDbConnection řetězec ukazuje syntaxi potřebnou pro připojení k Northwind.mdb umístěné ve složce app_data aplikace. Systémová databáze (System.mdw) je také uložena v daném umístění.

"Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=|DataDirectory|\Northwind.mdb;
Jet OLEDB:System Database=|DataDirectory|\System.mdw;"

Důležité

Určení umístění systémové databáze v připojovací řetězec není vyžadováno, pokud je databáze Access/Jet nezabezpečená. Zabezpečení je ve výchozím nastavení vypnuté, protože všichni uživatelé se připojují jako předdefinovaný uživatel s prázdným heslem správce. I když je správně implementováno zabezpečení na úrovni uživatele, databáze Jet zůstává zranitelná vůči útokům. Proto se ukládání citlivých informací do databáze Access/Jet nedoporučuje kvůli vnitřní slabině jeho schématu zabezpečení založeného na souborech.

Připojení k aplikaci Excel

Zprostředkovatel Microsoft Jet slouží k připojení k sešitu aplikace Excel. V následujícím připojovacím řetězci klíčové slovo Extended Properties nastaví vlastnosti specifické pro Microsoft Excel. "HDR=Yes;" značí, že první řádek obsahuje názvy sloupců, ne data, a "IMEX=1;" předává instrukci ovladači, aby vždy četl smíšené datové sloupce jako text.

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\MyExcel.xls;Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1""

Všimněte si, že dvojitá uvozovka požadovaná pro Extended Properties musí být také uzavřena do dvojitých uvozovek.

Syntaxe řetězce připojení pro zprostředkovatele tvarů dat

Při použití poskytovatele Data Shape od společnosti Microsoft používejte klíčová slova Provider i Data Provider. Následující příklad používá poskytovatele Shape pro připojení k místní instanci SQL Serveru.

"Provider=MSDataShape;Data Provider=SQLOLEDB;Data Source=(local);Initial Catalog=pubs;Integrated Security=SSPI;"

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 jsou doporučenou metodou ověřování.

Řetězce připojení ODBC

ConnectionString Vlastnost OdbcConnection umožňuje získat nebo nastavit připojovací řetězec pro zdroj dat OLE DB. Připojovací řetězce ODBC jsou také podporovány OdbcConnectionStringBuilder.

Následující připojovací řetězec používá ovladač Microsoft Text.

Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=d:\bin

Připojovací řetězec Oracle

ConnectionString Vlastnost OracleConnection umožňuje získat nebo nastavit připojovací řetězec pro zdroj dat OLE DB. Oracle připojovací řetězce jsou také podporovány OracleConnectionStringBuilder.

Data Source=Oracle9i;User ID=*****;Password=*****;

Další informace o syntaxi připojovacího řetězce ODBC viz ConnectionString.

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 jsou doporučenou metodou ověřování.

Viz také