.NET-keretrendszer adatszolgáltatók

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 .NET-keretrendszer adatszolgáltatójának és .NET-keretrendszer OLE DB-hez készült adatszolgáltatójának összehasonlítása.

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.

Lásd még