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.
Egy .NET-keretrendszer adatszolgáltatót használnak az adatbázishoz való csatlakozáshoz, a parancsok végrehajtásához és az eredmények lekéréséhez. Az eredményeket vagy közvetlenül dolgozzák fel, vagy DataSet helyezik el annak érdekében, hogy a felhasználó igénye szerint elérhetők legyenek, több forrásból származó adatokkal kombinálva, vagy rétegek között továbbítva. .NET-keretrendszer adatszolgáltatók egyszerűek, így minimális réteget hoznak létre az adatforrás és a kód között, és a funkciók feláldozása nélkül növelik a teljesítményt.
Az alábbi táblázat a .NET-keretrendszer részét képező adatszolgáltatókat sorolja fel.
| .NET-adatszolgáltató | Leírás |
|---|---|
| .NET-keretrendszer SQL Server adatszolgáltatója | Adathozzáférést biztosít a Microsoft SQL Serverhez. A névteret System.Data.SqlClient használja. |
| .NET-keretrendszer adatszolgáltató az OLE DB-hez | Az OLE DB használatával közzétett adatforrások esetében. A névteret System.Data.OleDb használja. |
| .NET-keretrendszer ODBC-adatforráshoz való adatszolgáltató | Az ODBC használatával közzétett adatforrások esetében. A névteret System.Data.Odbc használja. |
| .NET-keretrendszer adatszolgáltató Oracle-hez | Oracle-adatforrásokhoz. Az Oracle .NET-keretrendszer adatszolgáltatója támogatja az Oracle-ügyfélszoftver 8.1.7-es és újabb verzióját, és a System.Data.OracleClient névteret használja. |
| EntityClient-szolgáltató | Adathozzáférést biztosít az entity data model (EDM) alkalmazásokhoz. A névteret System.Data.EntityClient használja. |
| .NET-keretrendszer SQL Server Compact 4.0-s adatszolgáltatója. | Adathozzáférést biztosít a Microsoft SQL Server Compact 4.0-hoz. A System.Data.SqlServerCe névteret használja. |
Az .NET-keretrendszer-adatszolgáltatók alapvető objektumai
Az alábbi táblázat a .NET-keretrendszer adatszolgáltatót alkotó négy alapvető objektumot ismerteti.
| Objektum | Leírás |
|---|---|
Connection |
Kapcsolatot létesít egy adott adatforrással. Az összes Connection objektum alaposztálya az DbConnection osztály. |
Command |
Parancsot hajt végre egy adatforráson. Kiteszi a Parameters és a Connection-ből egy Transaction hatókörében hajtható végre. Az összes Command objektum alaposztálya az DbCommand osztály. |
DataReader |
Egy előretovábbítási műveletekre korlátozott, csak olvasható adatfolyamot olvas be egy adatforrásból. Az összes DataReader objektum alaposztálya az DbDataReader osztály. |
DataAdapter |
Kitölt egy DataSet-t, és összehangolja a frissítéseket az adatforrással. Az összes DataAdapter objektum alaposztálya az DbDataAdapter osztály. |
A dokumentum korábbi táblázatában felsorolt alapvető osztályok mellett egy .NET-keretrendszer adatszolgáltató az alábbi táblázatban felsorolt osztályokat is tartalmazza.
| Objektum | Leírás |
|---|---|
Transaction |
A parancsokat az adatforrás tranzakcióiba sorolja be. Az összes Transaction objektum alaposztálya az DbTransaction osztály. ADO.NET a névtér osztályait System.Transactions használó tranzakciókhoz is támogatást nyújt. |
CommandBuilder |
Egy segédobjektum, amely automatikusan létrehoz egy DataAdapter adott parancstulajdonságot, vagy paraméteradatokat nyer egy tárolt eljárásból, és feltölti egy ParametersCommand objektum gyűjteményét. Az összes CommandBuilder objektum alaposztálya az DbCommandBuilder osztály. |
ConnectionStringBuilder |
Segédobjektum, amely egyszerű módot kínál az objektumok által Connection használt kapcsolati sztring tartalmának létrehozására és kezelésére. Az összes ConnectionStringBuilder objektum alaposztálya az DbConnectionStringBuilder osztály. |
Parameter |
A parancsok és a tárolt eljárások bemeneti, kimeneti és visszatérési értékparamétereit határozza meg. Az összes Parameter objektum alaposztálya az DbParameter osztály. |
Exception |
Akkor jelenik meg, ha hiba történt az adatforrásban. Az ügyfélnél észlelt hiba esetén a .NET-keretrendszer adatkezelői .NET-keretrendszer kivételt dobnak. Az összes Exception objektum alaposztálya az DbException osztály. |
Error |
Az adatforrás által visszaadott figyelmeztetésből vagy hibából származó információkat teszi elérhetővé. |
ClientPermission |
Az .NET-keretrendszer adatszolgáltató kódhozzáférési biztonsági attribútumaihoz van megadva. Az összes ClientPermission objektum alaposztálya az DBDataPermission osztály. |
.NET-keretrendszer SQL Server (SqlClient) adatszolgáltatója
A .NET-keretrendszer SQL Server adatszolgáltatója (SqlClient) saját protokollal kommunikál az SQL Serverrel. Könnyű, és jól működik, mert úgy van optimalizálva, hogy közvetlenül hozzáférjen egy SQL Serverhez OLE DB vagy Open Database Connectivity (ODBC) réteg hozzáadása nélkül. Az alábbi ábrán az SQL Server .NET-keretrendszer adatszolgáltatója és az OLE DB .NET-keretrendszer adatszolgáltatója látható. Az OLE DB .NET-keretrendszer adatszolgáltatója az OLE DB-adatforrással kommunikál az OLE DB szolgáltatás összetevőn keresztül, amely a kapcsolatkészletezést és a tranzakciós szolgáltatásokat biztosítja, valamint az adatforrás OLE DB-szolgáltatója.
Megjegyzés
Az ODBC-hez készült .NET-keretrendszer adatszolgáltató architektúrája hasonló az .NET-keretrendszer OLE DB-hez készült adatszolgáltatóhoz, például meghív egy ODBC-szolgáltatásösszetevőt.
Az SQL Server-osztályok .NET-keretrendszer adatszolgáltatója a System.Data.SqlClient névtérben található.
Az SQL Server .NET-keretrendszer adatszolgáltatója támogatja a helyi és az elosztott tranzakciókat is. Elosztott tranzakciók esetén az SQL Server .NET-keretrendszer adatszolgáltatója alapértelmezés szerint automatikusan csatlakozik egy tranzakcióhoz, és lekér tranzakció részleteket a Windows Component Servicesből vagy System.Transactions. További információ: Tranzakciók és egyidejűség.
Az alábbi példakód bemutatja, hogyan lehet belefoglalni a System.Data.SqlClient névteret az alkalmazásokba.
Imports System.Data.SqlClient
using System.Data.SqlClient;
.NET-keretrendszer adatszolgáltató az OLE DB-hez
Az .NET-keretrendszer OLE DB (OleDb) adatszolgáltatója natív OLE DB-t használ COM-interopon keresztül az adathozzáférés engedélyezéséhez. Az OLE DB .NET-keretrendszer adatszolgáltatója támogatja a helyi és az elosztott tranzakciókat is. Elosztott tranzakciók esetén az OLE DB .NET-keretrendszer adatszolgáltatója alapértelmezés szerint automatikusan beolvas egy tranzakciót, és lekérte a tranzakció részleteit a Windows Component Servicesből. További információ: Tranzakciók és egyidejűség.
Az alábbi táblázat a ADO.NET tesztelt szolgáltatókat mutatja be.
| Illesztő | Szolgáltató |
|---|---|
| SQLOLEDB | Microsoft OLE DB-szolgáltató az SQL Serverhez |
| MSDAORA | Microsoft OLE DB-szolgáltató oracle-hez |
| Microsoft.Jet.OLEDB.4.0 | OLE DB-szolgáltató a Microsoft Jethez |
Megjegyzés
Az Access-adatbázis (Jet) használata többszálú alkalmazásokhoz, például ASP.NET alkalmazásokhoz nem ajánlott adatforrásként. Ha adatforrásként kell használnia a Jet-t egy ASP.NET-alkalmazáshoz, tisztában kell lennie azzal, hogy ASP.NET Access-adatbázishoz csatlakozó alkalmazások csatlakozási problémákba ütközhetnek.
Az OLE DB .NET-keretrendszer adatszolgáltatója nem támogatja az OLE DB 2.5-ös verzióját. Az OLE DB 2.5 adapterek támogatását igénylő OLE DB-szolgáltatók nem fognak megfelelően működni az OLE DB .NET-keretrendszer adatszolgáltatójával. Ide tartozik az Exchange-hez készült Microsoft OLE DB-szolgáltató és az Internet Publishing Microsoft OLE DB-szolgáltatója.
Az OLE DB .NET-keretrendszer adatszolgáltatója nem működik az ODBC -hez (MSDASQL) készült OLE DB-szolgáltatóval. ODBC-adatforrás ADO.NET használatával való eléréséhez használja az ODBC-hez készült .NET-keretrendszer-adatszolgáltatót.
.NET-keretrendszer OLE DB-osztályok adatszolgáltatója a System.Data.OleDb névtérben található. Az alábbi példakód bemutatja, hogyan lehet belefoglalni a System.Data.OleDb névteret az alkalmazásokba.
Imports System.Data.OleDb
using System.Data.OleDb;
.NET-keretrendszer adatforrás ODBC-hez
A .NET-keretrendszer ODBC-adatszolgáltató (Odbc) a natív ODBC-illesztőprogram-kezelőt (DM) használja az adathozzáférés engedélyezéséhez. Az ODBC-adatszolgáltató támogatja a helyi és az elosztott tranzakciókat is. Elosztott tranzakciók esetén az ODBC-adatszolgáltató alapértelmezés szerint automatikusan beolvas egy tranzakciót, és lekérte a tranzakció részleteit a Windows Component Servicesből. További információ: Tranzakciók és egyidejűség.
Az alábbi táblázat a ADO.NET tesztelt ODBC-illesztőprogramokat mutatja be.
| meghajtóprogram |
|---|
| SQL Server |
| Microsoft ODBC for Oracle |
| Microsoft Access-illesztőprogram (*.mdb) |
.NET-keretrendszer ODBC-osztályok adatszolgáltatója a System.Data.Odbc névtérben található.
Az alábbi példakód bemutatja, hogyan lehet belefoglalni a System.Data.Odbc névteret az alkalmazásokba.
Imports System.Data.Odbc
using System.Data.Odbc;
Megjegyzés
Az ODBC .NET-keretrendszer adatszolgáltatójának MDAC 2.6-os vagy újabb verziójára van szüksége, az MDAC 2.8 SP1 pedig ajánlott.
Oracle .NET-keretrendszer adatszolgáltató
Az Oracle .NET-keretrendszer adatszolgáltatója (OracleClient) oracle-ügyfélkapcsolati szoftveren keresztül teszi lehetővé az Oracle-adatforrásokhoz való adathozzáférést. Az adatszolgáltató támogatja az Oracle ügyfélszoftver 8.1.7-es vagy újabb verzióját. Az adatszolgáltató támogatja a helyi és az elosztott tranzakciókat is. További információ: Tranzakciók és egyidejűség.
Az Oracle .NET-keretrendszer adatszolgáltatójának oracle-ügyfélszoftvert (8.1.7-es vagy újabb verzió) kell használnia a rendszeren, mielőtt csatlakozni tud egy Oracle-adatforráshoz.
A .NET-keretrendszer Oracle adatszolgáltató osztályai a System.Data.OracleClient névtérben találhatók, és a System.Data.OracleClient.dll assembly tartalmazza. A program fordításakor, amely az adatszolgáltatót használja, hivatkoznia kell mind a System.Data.dll-ra, mind a System.Data.OracleClient.dll-re.
Az alábbi példakód bemutatja, hogyan lehet belefoglalni a System.Data.OracleClient névteret az alkalmazásokba.
Imports System.Data
Imports System.Data.OracleClient
using System.Data;
using System.Data.OracleClient;
.NET-keretrendszer adatszolgáltató kiválasztása
Az alkalmazás kialakításától és adatforrásától függően a .NET-keretrendszer adatszolgáltató kiválasztása javíthatja az alkalmazás teljesítményét, képességeit és integritását. Az alábbi táblázat az egyes .NET-keretrendszer adatszolgáltatók előnyeit és korlátait ismerteti.
| Szolgáltató | Jegyzetek |
|---|---|
| .NET-keretrendszer SQL Server adatszolgáltatója | A Microsoft SQL Servert használó középső szintű alkalmazásokhoz ajánlott. A Microsoft Database Engine -t (MSDE) vagy SQL Servert használó egyrétegű alkalmazásokhoz ajánlott. Az SQL Server OLE DB-szolgáltatójának (SQLOLEDB) és az OLE DB .NET-keretrendszer adatszolgáltatójának használata javasolt. |
| .NET-keretrendszer adatszolgáltató az OLE DB-hez | Az SQL Server esetében az SQL Server .NET-keretrendszer adatszolgáltatója ajánlott a szolgáltató helyett. A Microsoft Access-adatbázisokat használó egyrétegű alkalmazásokhoz ajánlott. Nem ajánlott Access-adatbázist használni középszintű alkalmazásokhoz. |
| .NET-keretrendszer adatforrás ODBC-hez | Ajánlott az ODBC-adatforrásokat használó középső és egyrétegű alkalmazásokhoz. |
| Oracle-hoz készült .NET-keretrendszer adatszolgáltató | Oracle-adatforrásokat használó középső és egyrétegű alkalmazásokhoz ajánlott. |
EntityClient-szolgáltató
Az EntityClient-szolgáltató egy entitás adatmodellen (EDM) alapuló adatok elérésére szolgál. A többi .NET-keretrendszer adatszolgáltatótól eltérően nem kommunikál közvetlenül egy adatforrással. Ehelyett az Entity SQL használatával kommunikál a mögöttes adatszolgáltatóval. További információkért olvassa el az EntityClient szolgáltatót az Entity Framework számára.