Kapcsolati sztring szintaxisa
Minden .NET-keretrendszer adatszolgáltató rendelkezik egy Connection
olyan objektummal, amely egy szolgáltatóspecifikus ConnectionString tulajdonságtól DbConnection öröklődik. 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-keretrendszer 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 sztringkészítők
ADO.NET 2.0 az alábbi kapcsolati sztring-szerkesztőket vezette be az .NET-keretrendszer adatszolgáltatók számára.
- SqlConnectionStringBuilder
- OleDbConnectionStringBuilder
- OdbcConnectionStringBuilder
- OracleConnectionStringBuilder
A kapcsolati sztring-szerkesztők lehetővé teszik a szintaktikailag érvényes kapcsolati sztring futásidőben történő összeállítását, így nem kell manuálisan összefűznie kapcsolati sztring értékeket a kódban. További információ: Kapcsolati sztringkészí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; |
Feljegyzé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 azure SQL-hez csatlakozik, az Azure-erőforrások felügyelt identitásai az ajánlott hitelesítési módszer.
SqlClient-kapcsolati sztring
A kapcsolati sztring szintaxisa SqlConnection 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 sztring kulcsszavak is megfeleltetik a tulajdonságokat a SqlConnectionStringBuilder.
Fontos
A kulcsszó alapértelmezett beállítása a Persist Security Info
következő false
: . true
yes
A kapcsolatból a kapcsolat megnyitása után biztonsági szempontból bizalmas adatokra , köztük a felhasználói azonosítóra és a jelszóra vonatkozó beállításokat állíthatja be vagy engedélyezi. Ügyeljen Persist Security Info
arrafalse
, hogy a nem megbízható forrás ne férhessen hozzá bizalmas kapcsolati sztring információkhoz.
Windows-hitelesítés az SqlClient használatával
Az alábbi szintaxisformák mindegyike Windows-hitelesítéssel csatlakozik egy helyi kiszolgálón található AdventureWorks-adatbázishoz .
"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 azure SQL-hez csatlakozik, az Azure-erőforrások felügyelt identitásai az ajánlott hitelesítési módszer.
SQL Server-hitelesítés az SqlClient használatával
A Windows-hitelesítés előnyben részesített az SQL Serverhez (helyszíni) való csatlakozáshoz. 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.
Feljegyzé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 azure SQL-hez csatlakozik, az Azure-erőforrások felügyelt identitásai 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
példány nevére is beállíthatja DataSource a tulajdonságot. Egy DataSource objektum tulajdonsága SqlConnection írásvédett.
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 SqlConnection.ConnectionString információt a Type System Version
kulcsszóról talál.
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ányok nem szolgáltatásként, hanem a felhasználó Windows-hitelesítő adataival futnak.
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;"
Feljegyzés
Ha TrustServerCertificate
be van állítvatrue
, és a titkosítás be van kapcsolva, akkor a kiszolgálón megadott titkosítási szint akkor is használható lesz, ha Encrypt
a kapcsolati sztring van beállítvafalse
. A kapcsolat egyébként sikertelen lesz.
Titkosítás engedélyezése
A titkosítás engedélyezéséhez, ha egy tanúsítvány nincs kiépítve a kiszolgálón, a Force Protocol Encryption és a Megbízhatósági kiszolgáló tanúsítványbeállításainak SQL Server Konfigurációkezelő kell lennie. 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ások a titkosítást úgy kérhetik, hogy a kulcsokat és a TrustServerCertificate
kulcsszavakat a következőre true
állítja, garantálva, hogy a titkosítás akkor is végbemegy, ha nincs kiépítve kiszolgálótanúsítvány, és a Force Protocol Encryption nincs konfigurálva az ügyfélhezEncrypt
. 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ási ügyfél beállítása | Megbízhatósági kiszolgáló tanúsítványának ügyfélbeállítása | Titkosítás/adattitkosítás használata kapcsolati sztring/attribútumhoz | 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ó: Titkosítás érvényesítése nélkül.
OleDb kapcsolati sztring
A ConnectionString tulajdonság OleDbConnection lehetővé teszi egy kapcsolati sztring lekérését vagy beállítását egy OLE DB-adatforráshoz, például a Microsoft Accesshez. Az osztály használatával OleDbConnectionStringBuilder futásidőben is létrehozhat OleDb
kapcsolati sztring.
OleDb kapcsolati sztring szintaxis
Meg kell adnia egy szolgáltató nevét egy OleDbConnection kapcsolati sztring. Az alábbi kapcsolati sztring a Jet-szolgáltatóval csatlakozik egy Microsoft Access-adatbázishoz. Vegye figyelembe, hogy a kulcsszavak és Password
a User ID
kulcsszavak nem kötelezőek, ha az adatbázis nem biztonságos (az alapértelmezett).
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 kapcsolati sztring megjelenített 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
Az univerzális adatkapcsolatú (UDL) fájlban található OleDbConnection kapcsolati adatait meg lehet adni, azonban ezt el kell kerülnie. 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 azure SQL-hez csatlakozik, az Azure-erőforrások felügyelt identitásai 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.OleDb System.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 sztring a kulcsszó az Extended Properties
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 az idézőjelhez Extended Properties
szükséges idézőjelet is idézőjelek közé kell foglalni.
Adatalakzat-szolgáltató kapcsolati sztring szintaxis
A Microsoft Data Shape szolgáltató használatakor használja a Provider
kulcsszavakat és Data Provider
a kulcsszavakat is. 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 azure SQL-hez csatlakozik, az Azure-erőforrások felügyelt identitásai az ajánlott hitelesítési módszer.
Odbc kapcsolati sztring
A ConnectionString tulajdonság OdbcConnection lehetővé teszi egy kapcsolati sztring lekérését vagy beállítását egy OLE DB-adatforráshoz. Az Odbc kapcsolati sztring OdbcConnectionStringBuildera .
Az alábbi kapcsolati sztring a Microsoft Szövegillesztőt használja.
Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=d:\bin
Oracle-kapcsolati sztring
A ConnectionString tulajdonság OracleConnection lehetővé teszi egy kapcsolati sztring lekérését vagy beállítását egy OLE DB-adatforráshoz. Az Oracle kapcsolati sztring 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 azure SQL-hez csatlakozik, az Azure-erőforrások felügyelt identitásai az ajánlott hitelesítési módszer.