Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az ADO.NET a .NET-be beépített adathozzáférési modell. Microsoft. Data.SqlClient ezt a modellt valósítja meg SQL Server-kompatibilis adatbázisokhoz, és SQL Server-specifikus képességeket is hozzáad.
A Microsoft. Data.SqlClient kezdőlapja adja a driver funkciótérképet és a gyártási alapvonalat. Ez a cikk bemutatja, hogyan illeszkedik az illesztőprogram az ADO.NET rendszerébe.
ADO.NET absztrakciók és SqlClient típusok
Az ADO.NET szolgáltatótól független absztrakciókat definiál a System.Data.Common névtérben. Microsoft. Data.SqlClient konkrét megvalósításokat biztosít.
| ADO.NET absztrakció | SqlClient típus | Alkalmazás célja |
|---|---|---|
| DbConnection | SqlConnection | Logikus kapcsolatot nyit egy adatbázishoz. |
| DbCommand | SqlCommand | SQL szöveget vagy egy tárolt eljárást futtat. |
| DbParameter | SqlParameter | Külön küld egy gépelt értéket a parancsszövegtől. |
| DbDataReader | SqlDataReader | Az eredménysorokat folyamatosan továbbítja a szerverről. |
| DbTransaction | SqlTransaction | A parancsokat egy atomi tranzakcióba csoportosítja. |
| DbDataAdapter | SqlDataAdapter | Kitölti és frissíti a kapcsolat nélküli DataSet és DataTable objektumokat. |
| DbBatch | SqlBatch | Több parancsot küld egy tételben a támogatott célkeretrendszereken. |
Programozz az ADO.NET absztrakciók ellen, amikor egy könyvtárnak több adatbázis-szolgáltatót kell támogatnia. Használd a SqlClient típusokat, amikor egy alkalmazás az SQL Server-t célozza meg, és szolgáltató-specifikus funkciókra van szükség.
Kapcsolt adathozzáférés
A connected access elérhetővé teszi a kapcsolatot, amíg egy parancs fut, és amíg az alkalmazás olvassa az eredményeket.
Egy gyakori kérés követi ezt a sorrendet:
- Hozzon létre egy
SqlConnectionkapcsolatkarakterláncból. - Nyissa meg a kapcsolatot.
- Hozz létre egy
SqlCommandelemet, és adj hozzáSqlParameterértékeket. - Hajtsa végre a parancsot.
- Feldolgozz egy skalárértéket, az érintett sorszámot, vagy
SqlDataReader. - Kezeld az olvasót, parancsot és kapcsolatot.
A legtöbb webes API, szolgáltatás, munkatárs és parancssoros alkalmazás esetén használj csatlakoztatott hozzáférést.
SqlDataReader sorokat streamel, és általában kevesebb memóriát használ, mint a teljes eredmény betöltése egy DataSet-be.
A(z) SqlConnection megnyitása és felszabadítása minden munkaegységhez a megszokott minta. A kapcsolat pooling újrahasználja az alapul szolgáló fizikai kapcsolatot. Ne tartsd nyitva egyetlen globális kapcsolatot az alkalmazás élettartama alatt.
Megszakított adathozzáférés
SqlDataAdapter adatokat továbbít az SQL Server és egy memóriabeli DataSet vagy DataTable között. Az alkalmazás lezárhatja a kapcsolatot, miközben olvassa vagy módosítja a memóriában lévő adatokat, majd újra csatlakozhat, hogy frissítéseket küldhessen.
Használj megszakított hozzáférést, ha szükséged van rá:
- Adatkötés a következőhöz:
DataSetvagyDataTable. - Memóriabeli kapcsolatok és korlátok.
- Offline végzett szerkesztések, amelyeket később szinkronizálnak.
- Kompatibilitás egy meglévő alkalmazással, amely DataAdapterekre épül.
Új, kérésorientált szolgáltatásoknál kezdd a SqlCommand -vel és SqlDataReader hacsak nincs szükséged a lekapcsolt objektummodellre.
SQL Server-specifikus jellemzők
Microsoft. Data.SqlClient olyan API-kat és kapcsolati viselkedést ad hozzá, amelyek nem részei a szolgáltatófüggetlen ADO.NET szerződésnek:
- Microsoft Entra hitelesítés és hozzáférési token visszahívások.
- TDS 8.0 szigorú titkosítási és SQL Server tanúsítvány opciók.
- Mindig titkosított és biztonságos enklávék.
-
SqlBulkCopynagy áteresztőképességű adatbetöltéshez. - Táblaértékkel megadott paraméterek.
- SQL Server adattípusok, beleértve a JSON és vektortípusokat.
- Konfigurálható újrapróbálkozás logika.
- SQL Server diagnosztika, statisztika és számlálók.
- Elérhetőségi csoport és a túlkapcsolódási lehetőségek.
E funkciók használata a kódot a Microsoft.Data.SqlClienthez köti. Ha az alkalmazás többi részének szolgáltatótól függetlennek kell maradnia, tartsd a szolgáltató-specifikus kódot egy adathozzáférési határ mögött.
objektum élettartama és párhuzamosság
Azonnal szabadítsd el a kapcsolatokat, parancsokat, olvasókat, tranzakciókat és tömeges másolási objektumokat. Használd await using aszinkron kóddal, amikor egy típus implementálja IAsyncDisposable-t .
SqlConnection, SqlCommand, SqlDataReader, és SqlTransaction nem támogatja több szál egyidejű használatát. Minden egyidejű műveletnek adjunk saját kapcsolatot, és támaszkodjunk a csatlakozási poolingra. A Multiple Active Result Set (MARS) engedélyezi több aktív eredményhalmazt egy kapcsolaton, de nem teszi a SqlClient objektumokat szálbiztonsággá.
Csomagok és névterek
Telepítsd a Microsoft.Data.SqlClient NuGet csomagot és importáld a Microsoft.Data.SqlClient névteret. A meghajtó függetlenül érkezik a .NET-től, így a funkciói, kiadásai és támogatási ütemtervei eltérnek a .NET futásidőtől.
System.Data.SqlClient az idősebb szolgáltató. Használd a Microsoft. Data.SqlClient-et új fejlesztéshez. Egy meglévő alkalmazás esetén kövesse a(z) Áttelepítés a System.Data.SqlClientről a Microsoft.Data.SqlClientre című cikk útmutatását.