Megosztás a következőn keresztül:


Kapcsolati karakterlánc szintaxisa

Minden .NET-keretrendszer adatszolgáltató rendelkezik egy Connection objektummal, amely örököl a DbConnection adattípustól, valamint egy szolgáltatóspecifikus ConnectionString tulajdonsággal. Az egyes szolgáltatók adott kapcsolati sztring szintaxisa ConnectionString a tulajdonságában van dokumentálva. Az alábbi táblázat a .NET-keretrendszer részét képező négy adatszolgáltatót sorolja fel.

.NET-adatszolgáltató Leírás
System.Data.SqlClient Adathozzáférést biztosít a Microsoft SQL Serverhez. Az kapcsolati sztring szintaxissal kapcsolatos további információkért lásd: ConnectionString.
System.Data.OleDb Adathozzáférést biztosít az OLE DB használatával közzétett adatforrásokhoz. Az kapcsolati sztring szintaxissal kapcsolatos további információkért lásd: ConnectionString.
System.Data.Odbc Adathozzáférést biztosít az ODBC használatával közzétett adatforrásokhoz. Az kapcsolati sztring szintaxissal kapcsolatos további információkért lásd: ConnectionString.
System.Data.OracleClient Adathozzáférést biztosít az Oracle 8.1.7-es vagy újabb verziójához. Az kapcsolati sztring szintaxissal kapcsolatos további információkért lásd: ConnectionString.

Kapcsolati karakterlánc-összeállítók

ADO.NET 2.0 az alábbi kapcsolati sztring-szerkesztőket vezette be az .NET-keretrendszer adatszolgáltatók számára.

A kapcsolati sztringszerkesztők lehetővé teszik a szintaktikailag érvényes kapcsolati sztringek futásidőben történő összeállítását, így nem kell manuálisan összefűznie a kapcsolati sztring értékeit a kódban. További információ: Kapcsolati karakterlánc építők.

Windows-hitelesítés

A Windows-hitelesítés (más néven integrált biztonság) használható az azt támogató adatforrásokhoz való csatlakozáshoz. A kapcsolati sztring alkalmazott szintaxis szolgáltatónként eltérő. Az alábbi táblázat az .NET-keretrendszer adatszolgáltatókhoz használt Windows-hitelesítés szintaxisát mutatja be.

Szolgáltató Szintaxis
SqlClient Integrated Security=true;

-- or --

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

Megjegyzés

Integrated Security=true kivételt jelez, ha a OleDb szolgáltatónál használják.

Fontos

A Microsoft azt javasolja, hogy a legbiztonságosabb hitelesítési folyamatot használja. Ha az Azure SQL-hez csatlakozik, az Azure-erőforrásokhoz használt felügyelt identitások az ajánlott hitelesítési módszer.

SqlClient-kapcsolati karakterláncok

A SqlConnection kapcsolati sztring szintaxisa a SqlConnection.ConnectionString tulajdonságban van dokumentálva. A ConnectionString tulajdonság használatával lekérhet vagy beállíthat kapcsolati sztring egy SQL Server-adatbázishoz. Ha az SQL Server egy korábbi verziójához kell csatlakoznia, az OleDb(System.Data.OleDb) .NET-keretrendszer adatszolgáltatóját kell használnia. A legtöbb kapcsolati sztringek kulcsszavai is hozzárendelhetők a tulajdonságokhoz a SqlConnectionStringBuilder.

Fontos

A Persist Security Info kulcsszó alapértelmezett beállítása false. true vagy yes beállítása lehetővé teszi, hogy a kapcsolat megnyitása után biztonsági szempontból érzékeny információkat, például a felhasználói azonosítót és a jelszót szerezzenek be a kapcsolatból. Hagyja Persist Security Infofalse beállításokkal, hogy a nem megbízható forrás ne férhessen hozzá bizalmas kapcsolati karakterlánc információkhoz.

Windows-hitelesítés az SqlClient használatával

Az alábbi szintaxisformák mindegyike Windows-hitelesítéssel csatlakozik az AdventureWorks adatbázishoz egy helyi kiszolgálón.

"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)"

Fontos

A Microsoft azt javasolja, hogy a legbiztonságosabb hitelesítési folyamatot használja. Ha az Azure SQL-hez csatlakozik, az Azure-erőforrásokhoz használt felügyelt identitások az ajánlott hitelesítési módszer.

SQL Server-hitelesítés az SqlClient használatával

A Windows-hitelesítés ajánlott az SQL Serverhez való csatlakozáshoz helyben. Ha azonban SQL Server-hitelesítésre van szükség, használja az alábbi szintaxist a felhasználónév és a jelszó megadásához. Ebben a példában csillagokkal jelöljük az érvényes felhasználónevet és jelszót.

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

Amikor az Azure SQL Database-hez vagy az Azure SQL Data Warehouse-hoz csatlakozik, és megadja a bejelentkezési formátumot user@servername, győződjön meg arról, hogy a servername bejelentkezési érték megegyezik a megadott Server=értékkel.

Megjegyzés

A Windows-hitelesítés elsőbbséget élvez az SQL Server-bejelentkezésekkel szemben. Ha mind a felhasználónevet, mind Integrated Security=true a jelszót megadja, a rendszer figyelmen kívül hagyja a felhasználónevet és a jelszót, és Windows-hitelesítést használ.

Fontos

A Microsoft azt javasolja, hogy a legbiztonságosabb hitelesítési folyamatot használja. Ha az Azure SQL-hez csatlakozik, az Azure-erőforrásokhoz használt felügyelt identitások az ajánlott hitelesítési módszer.

Csatlakozás az SQL Server nevesített példányához

Az SQL Server nevesített példányához való csatlakozáshoz használja a kiszolgálónév\példánynév szintaxisát.

"Data Source=MySqlServer\\MSSQL1;"

A kapcsolati sztring létrehozásakor a SqlConnectionStringBuilder tulajdonságot is beállíthatja a DataSource példány nevére. Egy DataSource objektum SqlConnection tulajdonsága csak olvasható.

Rendszerverzió változásainak beírása

A Type System Version kulcsszó az SqlConnection.ConnectionString SQL Server-típusok ügyféloldali megjelenítését határozza meg. További információkért a Type System Version kulcsszóról lásd SqlConnection.ConnectionString.

Csatlakozás és csatolás SQL Server Express-felhasználói példányokhoz

A felhasználói példányok az SQL Server Express egyik funkciója. Lehetővé teszik, hogy a legkevésbé kiemelt helyi Windows-fiókon futó felhasználók rendszergazdai jogosultságok nélkül csatoljanak és futtassanak egy SQL Server-adatbázist. A felhasználói példány nem szolgáltatásként fut, hanem a felhasználó Windows-hitelesítő adataival.

A felhasználói példányok használatával kapcsolatos további információkért lásd: SQL Server Express User Instances.

A TrustServerCertificate használata

A TrustServerCertificate kulcsszó csak akkor érvényes, ha érvényes tanúsítvánnyal rendelkező SQL Server-példányhoz csatlakozik. Ha TrustServerCertificate be van állítva true, az átviteli réteg SSL használatával titkosítja a csatornát, és megkerüli a tanúsítványláncot a megbízhatóság ellenőrzéséhez.

"TrustServerCertificate=true;"

Megjegyzés

Ha TrustServerCertificate be van állítva true, és a titkosítás be van kapcsolva, akkor a kiszolgálón megadott titkosítási szint akkor is használható lesz, ha a kapcsolati sztringben Encrypt be van állítva false. A kapcsolat egyébként sikertelen lesz.

Titkosítás engedélyezése

A titkosítás engedélyezéséhez, amikor a kiszolgálón nincs telepítve tanúsítvány, az Force Protocol Encryption és a Trust Server Certificate opciókat kell beállítani az SQL Server Konfigurációkezelőben. Ebben az esetben a titkosítás egy önaláírt kiszolgálótanúsítványt fog használni ellenőrzés nélkül, ha nem lett kiépítve ellenőrizhető tanúsítvány a kiszolgálón.

Az alkalmazásbeállítások nem csökkenthetik az SQL Serverben konfigurált biztonsági szintet, de szükség esetén megerősíthetik azt. Az alkalmazás titkosítást kérhet úgy, hogy a TrustServerCertificate és Encrypt kulcsszavakat true állítja be, garantálva, hogy a titkosítás akkor is végbemegy, ha nincs kiépítve kiszolgálótanúsítvány, és az ügyfélhez nincs konfigurálva a Protokollkényszerített titkosítás. Ha TrustServerCertificate azonban nincs engedélyezve az ügyfélkonfigurációban, akkor is szükség van egy kiépített kiszolgálótanúsítványra.

Az alábbi táblázat az összes esetet ismerteti.

Protokolltitkosítás kényszerítésének ügyfél beállítása Megbízhatósági kiszolgáló tanúsítványának ügyfélbeállítása Titkosítsa vagy használjon titkosítást az adatkapcsolati karakterláncra vagy attribútumra. Megbízhatósági kiszolgáló tanúsítványának kapcsolati sztring/attribútuma Eredmény
Nem N/A Nem (alapértelmezett) Figyelmen kívül hagyva Nem történik titkosítás.
Nem N/A Igen Nem (alapértelmezett) A titkosítás csak akkor történik meg, ha van ellenőrizhető kiszolgálói tanúsítvány, ellenkező esetben a kapcsolati kísérlet meghiúsul.
Nem N/A Igen Igen A titkosítás mindig megtörténik, de használhat önaláírt kiszolgálói tanúsítványt.
Igen Nem Figyelmen kívül hagyva Figyelmen kívül hagyva A titkosítás csak akkor történik, ha ellenőrizhető kiszolgálótanúsítvány van; ellenkező esetben a kapcsolati kísérlet meghiúsul.
Igen Igen Nem (alapértelmezett) Figyelmen kívül hagyva A titkosítás mindig megtörténik, de használhat önaláírt kiszolgálói tanúsítványt.
Igen Igen Igen Nem (alapértelmezett) A titkosítás csak akkor történik, ha ellenőrizhető kiszolgálótanúsítvány van; ellenkező esetben a kapcsolati kísérlet meghiúsul.
Igen Igen Igen Igen A titkosítás mindig megtörténik, de használhat önaláírt kiszolgálói tanúsítványt.

További információért lásd: Titkosítás használata érvényesítés nélkül.

OleDb kapcsolati karakterláncok

A OleDbConnectionConnectionString tulajdonsága lehetővé teszi, hogy egy OLE DB-adatforráshoz, például a Microsoft Accesshez, egy kapcsolati karakterláncot lekérjen vagy beállítson. Futtatókörnyezetben is létrehozhat kapcsolati sztringet OleDb az OleDbConnectionStringBuilder osztály használatával.

OleDb kapcsolati sztring szintaxis

A OleDbConnection kapcsolati sztringhez meg kell adnia egy szolgáltató nevét. Az alábbi kapcsolati sztring egy Microsoft Access-adatbázishoz csatlakozik a Jet-szolgáltató használatával. Vegye figyelembe, hogy a User ID és a Password kulcsszavak nem kötelezőek, ha az adatbázis nem biztonságos (ez az alapértelmezett beállítás).

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

Ha a Jet-adatbázist felhasználói szintű biztonság védi, meg kell adnia a munkacsoport információs fájljának (.mdw) helyét. A munkacsoport információs fájlja a kapcsolat sztringben megadott hitelesítő adatok ellenőrzésére szolgál.

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

Fontos

Egy univerzális adatkapcsolati (UDL-) fájlban meg lehet adni kapcsolati információkat egy OleDbConnection, azonban ezt érdemes kerülni. Az UDL-fájlok nincsenek titkosítva, és kapcsolati sztring információkat világos szövegben teszik elérhetővé. Mivel az UDL-fájl az alkalmazás külső fájlalapú erőforrása, nem védhető .NET-keretrendszer használatával. Az SQLClient nem támogatja az UDL-fájlokat.

Fontos

A Microsoft azt javasolja, hogy a legbiztonságosabb hitelesítési folyamatot használja. Ha az Azure SQL-hez csatlakozik, az Azure-erőforrásokhoz használt felügyelt identitások az ajánlott hitelesítési módszer.

Csatlakozás az Accesshez/Jethez a DataDirectory használatával

DataDirectory nem kizárólagos a SqlClient. A .NET-adatszolgáltatókkal System.Data.OleDbSystem.Data.Odbc is használható. Az alábbi példasztring OleDbConnection az alkalmazás app_data mappájában található Northwind.mdb való csatlakozáshoz szükséges szintaxist mutatja be. A rendszeradatbázis (System.mdw) is ezen a helyen van tárolva.

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

Fontos

Nem szükséges megadni a rendszeradatbázis helyét a kapcsolati sztring, ha az Access/Jet adatbázis nem biztonságos. A biztonság alapértelmezés szerint ki van kapcsolva, és minden felhasználó egy üres jelszóval csatlakozik a beépített rendszergazdai felhasználóhoz. A Jet-adatbázisok akkor is sebezhetőek maradnak a támadással szemben, ha helyesen implementálják a felhasználói szintű biztonságot. Ezért az Access-/Jet-adatbázisok bizalmas adatainak tárolása nem ajánlott a fájlalapú biztonsági séma eredendő gyengesége miatt.

Csatlakozás az Excelhez

A Microsoft Jet-szolgáltató egy Excel-munkafüzethez való csatlakozásra szolgál. A következő kapcsolati sztringben a Extended Properties kulcsszó kifejezetten az Excelre jellemző tulajdonságokat állítja be. A "HDR=Igen;" azt jelzi, hogy az első sor oszlopneveket tartalmaz, nem adatokat, és az "IMEX=1;" azt jelzi, hogy az illesztő mindig szövegként olvassa fel az "összefűzött" adatoszlopokat.

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

Vegye figyelembe, hogy a Extended Properties-hez szükséges idézőjel karaktert is idézőjelek közé kell foglalni.

Adatstruktúra-szolgáltató kapcsolati karaktersor szintaxis

A Microsoft Data Shape szolgáltató használatakor használja mind a Provider, mind a Data Provider kulcsszót. Az alábbi példa az Alakzatszolgáltatót használja az SQL Server helyi példányához való csatlakozáshoz.

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

Fontos

A Microsoft azt javasolja, hogy a legbiztonságosabb hitelesítési folyamatot használja. Ha az Azure SQL-hez csatlakozik, az Azure-erőforrásokhoz használt felügyelt identitások az ajánlott hitelesítési módszer.

ODBC kapcsolati karakterláncok

A ConnectionString tulajdonsága a OdbcConnection lehetővé teszi egy kapcsolati lánc lekérését vagy beállítását egy OLE DB-adatforráshoz. Az ODBC kapcsolati sztringeket is támogatja a OdbcConnectionStringBuilder.

Az alábbi kapcsolati karakterlánc a Microsoft Szövegillesztőt használja.

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

Oracle-kapcsolati karakterláncok

A ConnectionString tulajdonság OracleConnection lehetővé teszi, hogy megkapjon vagy beállítson egy kapcsolati sztringet egy OLE DB-adatforráshoz. Az Oracle-kapcsolati karakterláncokat is támogatja a OracleConnectionStringBuilder.

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

További információ az ODBC kapcsolati sztring szintaxisáról: ConnectionString.

Fontos

A Microsoft azt javasolja, hogy a legbiztonságosabb hitelesítési folyamatot használja. Ha az Azure SQL-hez csatlakozik, az Azure-erőforrásokhoz használt felügyelt identitások az ajánlott hitelesítési módszer.

Lásd még