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 Encrypt
true
, 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.