Syntaxe připojovacího řetězce

Každý zprostředkovatel dat rozhraní .NET Framework má Connection objekt, který dědí z DbConnection vlastnosti specifické pro ConnectionString zprostředkovatele. Konkrétní syntaxe připojovací řetězec pro každého zprostředkovatele je zdokumentovaná ve své ConnectionString vlastnosti. Následující tabulka uvádí čtyři zprostředkovatele dat, kteří jsou zahrnuti v rozhraní .NET Framework.

Zprostředkovatel dat rozhraní .NET Framework Popis
System.Data.SqlClient Poskytuje přístup k datům pro Microsoft SQL Server. Další informace o syntaxi připojovací řetězec naleznete v tématu ConnectionString.
System.Data.OleDb Poskytuje přístup k datům pro vystavené zdroje dat pomocí OLE DB. Další informace o syntaxi připojovací řetězec naleznete v tématu ConnectionString.
System.Data.Odbc Poskytuje přístup k datům pro zdroje dat vystavené pomocí rozhraní ODBC. Další informace o syntaxi připojovací řetězec naleznete v tématu 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í řetězec naleznete v tématu ConnectionString.

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

ADO.NET 2.0 zavedli následující tvůrce připojovací řetězec pro zprostředkovatele dat rozhraní .NET Framework.

Tvůrci připojovací řetězec umožňují vytvářet syntakticky platné připojovací řetězec za běhu, takže v kódu nemusíte ručně zřetězit hodnoty připojovací řetězec. Další informace najdete v tématu Připojení ion String Builders.

Ověřování systému Windows

Pro připojení ke zdrojům dat, které ho podporují, doporučujeme použít ověřování systému Windows (někdy označované jako integrované zabezpečení). Syntaxe použitá v připojovací řetězec 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 .

Řetězce Připojení sqlClient

Syntaxe připojovací řetězec SqlConnection je zdokumentovaná ve SqlConnection.ConnectionString vlastnosti. Vlastnost můžete použít ConnectionString k získání nebo nastavení připojovací řetězec 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 připojovací řetězec klíčových slov se také mapuje na vlastnosti v objektu SqlConnectionStringBuilder.

Důležité

Výchozí nastavení pro Persist Security Info klíčové slovo je false. true Když ho nastavíte nebo yes povolíte, aby se po otevření připojení získaly z připojení citlivé na zabezpečení, včetně ID uživatele a hesla. Ponechte Persist Security Info nastavenou možnost false zajistit, aby nedůvěryhodný zdroj neměl přístup k citlivým informacím připojovací řetězec.

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 databázi AdventureWorks 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)"  

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

Ověřování systému Windows je upřednostňované pro připojení k SQL Serveru. 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 integrované zabezpečení =true i uživatelské jméno a heslo, uživatelské jméno a heslo budou ignorovány a bude použito ověřování systému Windows.

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í řetězec můžete také nastavit DataSource vlastnost SqlConnectionStringBuilder názvu instance. 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. Další SqlConnection.ConnectionString informace o klíčovém slově Type System Version

Připojení a připojení k instancím uživatelů 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 instancemi uživatelů naleznete v tématu INSTANCE UŽIVATELE SQL Server Express.

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 TrustServerCertificate je nastavená true hodnota a šifrování je zapnuté, použije se úroveň šifrování zadaná na serveru, i když Encrypt je nastavená na false připojovací řetězec. Jinak se připojení nezdaří.

Povolení šifrování

Chcete-li povolit šifrování v případě, že certifikát není na serveru zřízený, musí být v nástroji SQL Server Configuration Manager nastaveny možnosti Vynucení šifrování protokolu a certifikátu důvěryhodného serveru. 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.

Vynucení nastavení klienta šifrování protokolu Nastavení klienta certifikátu serveru důvěryhodnosti Šifrování/použití šifrování pro datové připojovací řetězec/atribut Důvěřovat certifikátu serveru připojovací řetězec/atributu Výsledek
No Ne (výchozí) Ignorováno Nedojde k žádnému šifrování.
No Není k dispozici 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.
No Není k dispozici Ano Yes K šifrování vždy dochází, ale může používat certifikát serveru podepsaný svým držitelem.
Yes No 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 Yes 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 Yes 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 Yes 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 – řetězce Připojení

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

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í řetězec.

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 Universal Data Link (UDL) je možné zadat informace o připojení pro OleDb Připojení; 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.

Použití služby DataDirectory k Připojení pro přístup nebo jet

DataDirectory není exkluzivní pro SqlClient. Lze ho také použít s zprostředkovateli System.Data.OleDb dat . System.Data.Odbc NET. 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é a všichni uživatelé se připojují jako předdefinovaný Správa s prázdným heslem. 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í do Excelu

Zprostředkovatel Microsoft Jet slouží k připojení k excelovém sešitu. V následujícím připojovací řetězec Extended Properties nastaví klíčové slovo vlastnosti specifické pro Aplikaci Excel. "HDR=Yes;" značí, že první řádek obsahuje názvy sloupců, ne data a "IMEX=1;", říká ovladači, aby vždy četl "intermixed" 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 uvozovka požadovaná pro Extended Properties uvozovky musí být také uzavřena do uvozovek.

Syntaxe řetězce Připojení ion zprostředkovatele obrazců dat

Při použití zprostředkovatele datového obrazce Microsoftu používejte klíčová Provider slova i Data Provider klíčová slova. Následující příklad používá zprostředkovatele obrazce pro připojení k místní instanci SQL Serveru.

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

Řetězce Připojení odbc

ConnectionString Vlastnost OdbcConnection umožňuje získat nebo nastavit připojovací řetězec pro zdroj dat OLE DB. Rozhraní Odbc připojovací řetězec jsou podporovány OdbcConnectionStringBuildertaké rozhraním .

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

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

Použití dataDirectory k Připojení do visual FoxPro

Následující OdbcConnection ukázka připojovací řetězec ukazuje použití DataDirectory pro připojení k souboru Microsoft Visual FoxPro.

"Driver={Microsoft Visual FoxPro Driver};  
SourceDB=|DataDirectory|\MyData.DBC;SourceType=DBC;"  

Řetězce Připojení ion Oracle

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

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

Další informace o syntaxi rozhraní ODBC připojovací řetězec naleznete v tématu ConnectionString.

Viz také