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.
- SqlConnectionStringBuilder
- OleDbConnectionStringBuilder
- OdbcConnectionStringBuilder
- OracleConnectionStringBuilder
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 naleznete v tématu Tvůrce připojovacích řetězců.
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ž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
.
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í.
Připojovací řetězec 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)"
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í.
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
jak uživatelské jméno, tak i heslo, uživatelské jméno a heslo se ignorují 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 se doporučují 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í ř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 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. Pomocí třídy můžete také vytvořit OleDb
připojovací řetězec za běhuOleDbConnectionStringBuilder.
Syntaxe připojovací řetězec 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é
Informace o připojení pro OleDbConnection je možné zadat v souboru UDL (Universal Data Link), ale 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 se doporučují metodou ověřování.
Připojení k Accessu nebo Jetu pomocí DataDirectory
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é, 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 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 připojovací řetězec 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;"
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í.
Rozhraní Odbc připojovací řetězec
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
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ě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.
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í.