Sdílet prostřednictvím


Zprostředkovatelé dat rozhraní .NET Framework

Zprostředkovatel dat rozhraní .NET Framework slouží k připojení k databázi, spouštění příkazů a načítání výsledků. Tyto výsledky se buď zpracují přímo, umístí DataSet se tak, aby bylo možné uživatele podle potřeby zpřístupnit, v kombinaci s daty z více zdrojů nebo vzdáleně mezi vrstvami. Zprostředkovatelé dat rozhraní .NET Framework jsou odlehčená a vytvářejí minimální vrstvu mezi zdrojem dat a kódem, což zvyšuje výkon bez obětování funkčnosti.

Následující tabulka uvádí zprostředkovatele dat, kteří jsou zahrnuti v rozhraní .NET Framework.

Zprostředkovatel dat rozhraní .NET Framework Popis
Rozhraní .NET Framework Zprostředkovatel dat pro SQL Server Poskytuje přístup k datům pro Microsoft SQL Server. System.Data.SqlClient Používá obor názvů.
Rozhraní .NET Framework Zprostředkovatel dat pro OLE DB Pro zdroje dat vystavené pomocí OLE DB. System.Data.OleDb Používá obor názvů.
Rozhraní .NET Framework Zprostředkovatel dat pro rozhraní ODBC Pro zdroje dat vystavené pomocí rozhraní ODBC. System.Data.Odbc Používá obor názvů.
Rozhraní .NET Framework Zprostředkovatel dat pro Oracle Pro zdroje dat Oracle. Rozhraní .NET Framework Zprostředkovatel dat pro Oracle podporuje klientský software Oracle verze 8.1.7 a novější a používá System.Data.OracleClient obor názvů.
Zprostředkovatel EntityClient Poskytuje přístup k datům pro aplikace Entity Data Model (EDM). System.Data.EntityClient Používá obor názvů.
Rozhraní .NET Framework Zprostředkovatel dat pro SQL Server Compact 4.0. Poskytuje přístup k datům pro Microsoft SQL Server Compact 4.0. Používá obor názvů System.Data.SqlServerCe .

Základní objekty rozhraní .NET Framework Zprostředkovatel dat

Následující tabulka popisuje čtyři základní objekty, které tvoří zprostředkovatele dat rozhraní .NET Framework.

Objekt Popis
Connection Vytvoří připojení ke konkrétnímu zdroji dat. Základní třída pro všechny Connection objekty je DbConnection třída.
Command Spustí příkaz proti zdroji dat. Parameters Zveřejňuje a může provádět v oboru z objektu Transaction Connection. Základní třída pro všechny Command objekty je DbCommand třída.
DataReader Čte stream dat jen pro čtení ze zdroje dat jen pro čtení. Základní třída pro všechny DataReader objekty je DbDataReader třída.
DataAdapter Naplní DataSet a vyřeší aktualizace zdrojem dat. Základní třída pro všechny DataAdapter objekty je DbDataAdapter třída.

Kromě základních tříd uvedených v tabulce uvedené výše v tomto dokumentu obsahuje zprostředkovatel dat rozhraní .NET Framework také třídy uvedené v následující tabulce.

Objekt Popis
Transaction Zakóduje příkazy v transakcích ve zdroji dat. Základní třída pro všechny Transaction objekty je DbTransaction třída. ADO.NET také poskytuje podporu pro transakce využívající třídy v System.Transactions oboru názvů.
CommandBuilder Pomocný objekt, který automaticky generuje vlastnosti DataAdapter příkazu nebo odvozuje informace o parametru z uložené procedury a naplní Parameters kolekci objektu Command . Základní třída pro všechny CommandBuilder objekty je DbCommandBuilder třída.
ConnectionStringBuilder Pomocný objekt, který poskytuje jednoduchý způsob, jak vytvořit a spravovat obsah připojovací řetězec používaných Connection objekty. Základní třída pro všechny ConnectionStringBuilder objekty je DbConnectionStringBuilder třída.
Parameter Definuje vstupní, výstupní a návratové parametry hodnoty pro příkazy a uložené procedury. Základní třída pro všechny Parameter objekty je DbParameter třída.
Exception Vráceno při výskytu chyby ve zdroji dat. V případě chyby, ke které došlo v klientovi, zprostředkovatelé dat rozhraní .NET Framework vyvolá výjimku rozhraní .NET Framework. Základní třída pro všechny Exception objekty je DbException třída.
Error Zveřejňuje informace z upozornění nebo chyby vrácené zdrojem dat.
ClientPermission Poskytuje se pro atributy zabezpečení přístupu k kódu zprostředkovatele dat rozhraní .NET Framework. Základní třída pro všechny ClientPermission objekty je DBDataPermission třída.

Rozhraní .NET Framework Zprostředkovatel dat pro SQL Server (SqlClient)

Rozhraní .NET Framework Zprostředkovatel dat pro SQL Server (SqlClient) používá k komunikaci s SQL Serverem vlastní protokol. Je jednoduchý a funguje dobře, protože je optimalizovaný pro přístup k SQL Serveru přímo bez přidání vrstvy OLE DB nebo odbc (Open Database Connectivity). Následující obrázek kontrastuje Zprostředkovatel dat rozhraní .NET Framework pro SQL Server s rozhraním .NET Framework Zprostředkovatel dat pro OLE DB. Rozhraní .NET Framework Zprostředkovatel dat pro OLE DB komunikuje se zdrojem dat OLE DB prostřednictvím komponenty služby OLE DB, která poskytuje sdružování připojení a transakční služby a zprostředkovatele OLE DB pro zdroj dat.

Poznámka:

Rozhraní .NET Framework Zprostředkovatel dat pro rozhraní ODBC má podobnou architekturu jako rozhraní .NET Framework Zprostředkovatel dat pro OLE DB, například volá komponentu služby ODBC.

Porovnání Zprostředkovatel dat rozhraní .NET Framework pro SQL Server a rozhraní .NET Framework Zprostředkovatel dat pro OLE DB.

Rozhraní .NET Framework Zprostředkovatel dat pro třídy SQL Serveru se nachází v System.Data.SqlClient oboru názvů.

Rozhraní .NET Framework Zprostředkovatel dat pro SQL Server podporuje místní i distribuované transakce. U distribuovaných transakcí rozhraní .NET Framework Zprostředkovatel dat pro SQL Server ve výchozím nastavení automaticky zasouvá do transakce a získá podrobnosti o transakci ze služeb komponent systému Windows nebo System.Transactions. Další informace naleznete v tématu Transakce a souběžnost.

Následující příklad kódu ukazuje, jak zahrnout System.Data.SqlClient obor názvů do vašich aplikací.

Imports System.Data.SqlClient
using System.Data.SqlClient;

Rozhraní .NET Framework Zprostředkovatel dat pro OLE DB

Rozhraní .NET Framework Zprostředkovatel dat pro OLE DB (OleDb) používá nativní rozhraní OLE DB prostřednictvím zprostředkovatele komunikace modelu COM k povolení přístupu k datům. Rozhraní .NET Framework Zprostředkovatel dat pro OLE DB podporuje místní i distribuované transakce. V případě distribuovaných transakcí rozhraní .NET Framework Zprostředkovatel dat pro OLE DB ve výchozím nastavení automaticky začíná do transakce a získá podrobnosti o transakcích ze služeb komponent systému Windows. Další informace naleznete v tématu Transakce a souběžnost.

V následující tabulce jsou uvedeni poskytovatelé, kteří byli testováni s ADO.NET.

Ovladač Poskytovatel
SQLOLEDB Zprostředkovatel Microsoft OLE DB pro SQL Server
MSDAORA Zprostředkovatel Microsoft OLE DB pro Oracle
Microsoft.Jet.OLEDB.4.0 Zprostředkovatel OLE DB pro Microsoft Jet

Poznámka:

Použití databáze Accessu (Jet) jako zdroje dat pro vícevláknové aplikace, jako je například ASP.NET aplikací, se nedoporučuje. Pokud je nutné použít Jet jako zdroj dat pro ASP.NET aplikaci, uvědomte si, že ASP.NET aplikace, které se připojují k databázi Accessu, můžou narazit na problémy s připojením.

Rozhraní .NET Framework Zprostředkovatel dat pro OLE DB nepodporuje rozhraní OLE DB verze 2.5. Zprostředkovatelé OLE DB, kteří vyžadují podporu rozhraní OLE DB 2.5, nebudou správně fungovat s rozhraním .NET Framework Zprostředkovatel dat pro OLE DB. To zahrnuje zprostředkovatele Microsoft OLE DB pro Exchange a zprostředkovatele Microsoft OLE DB pro publikování na internetu.

Rozhraní .NET Framework Zprostředkovatel dat pro OLE DB nefunguje se zprostředkovatelem OLE DB pro ROZHRANÍ ODBC (MSDASQL). Pokud chcete získat přístup ke zdroji dat ODBC pomocí ADO.NET, použijte rozhraní .NET Framework Zprostředkovatel dat pro rozhraní ODBC.

Rozhraní .NET Framework Zprostředkovatel dat pro třídy OLE DB se nachází v System.Data.OleDb oboru názvů. Následující příklad kódu ukazuje, jak zahrnout System.Data.OleDb obor názvů do vašich aplikací.

Imports System.Data.OleDb
using System.Data.OleDb;

Rozhraní .NET Framework Zprostředkovatel dat pro rozhraní ODBC

Rozhraní .NET Framework Zprostředkovatel dat pro rozhraní ODBC (Odbc) používá nativní správce ovladačů ODBC (DM) k povolení přístupu k datům. Zprostředkovatel dat ODBC podporuje místní i distribuované transakce. U distribuovaných transakcí zprostředkovatel dat ODBC ve výchozím nastavení automaticky začíná do transakce a získá podrobnosti o transakcích ze služeb komponent systému Windows. Další informace naleznete v tématu Transakce a souběžnost.

Následující tabulka ukazuje ovladače ODBC testované pomocí ADO.NET.

Ovladač
SQL Server
Microsoft ODBC pro Oracle
Ovladač aplikace Microsoft Access (*.mdb)

Rozhraní .NET Framework Zprostředkovatel dat pro třídy ODBC se nachází v System.Data.Odbc oboru názvů.

Následující příklad kódu ukazuje, jak zahrnout System.Data.Odbc obor názvů do vašich aplikací.

Imports System.Data.Odbc
using System.Data.Odbc;

Poznámka:

Rozhraní .NET Framework Zprostředkovatel dat pro rozhraní ODBC vyžaduje MDAC 2.6 nebo novější verzi a doporučuje se MDAC 2.8 SP1.

Rozhraní .NET Framework Zprostředkovatel dat pro Oracle

Rozhraní .NET Framework Zprostředkovatel dat pro Oracle (OracleClient) umožňuje přístup k datům ke zdrojům dat Oracle prostřednictvím softwaru pro připojení klienta Oracle. Poskytovatel dat podporuje klientský software Oracle verze 8.1.7 nebo novější. Zprostředkovatel dat podporuje místní i distribuované transakce. Další informace naleznete v tématu Transakce a souběžnost.

Rozhraní .NET Framework Zprostředkovatel dat pro Oracle vyžaduje v systému klientský software Oracle (verze 8.1.7 nebo novější) před připojením ke zdroji dat Oracle.

Rozhraní .NET Framework Zprostředkovatel dat pro třídy Oracle jsou umístěny v System.Data.OracleClient oboru názvů a jsou obsaženy System.Data.OracleClient.dll v sestavení. Na aplikaci, která používá zprostředkovatele dat, musíte odkazovat jak na System.Data.dll aplikaci, tak na System.Data.OracleClient.dll to.

Následující příklad kódu ukazuje, jak zahrnout System.Data.OracleClient obor názvů do vašich aplikací.

Imports System.Data
Imports System.Data.OracleClient
using System.Data;
using System.Data.OracleClient;

Volba Zprostředkovatel dat rozhraní .NET Framework

V závislosti na návrhu a zdroji dat pro vaši aplikaci může váš výběr zprostředkovatele dat rozhraní .NET Framework zlepšit výkon, možnosti a integritu vaší aplikace. Následující tabulka popisuje výhody a omezení jednotlivých zprostředkovatelů dat rozhraní .NET Framework.

Poskytovatel Notes
Rozhraní .NET Framework Zprostředkovatel dat pro SQL Server Doporučuje se pro aplikace střední vrstvy, které používají Microsoft SQL Server.

Doporučuje se pro jednovrstvé aplikace, které používají Microsoft Database Engine (MSDE) nebo SQL Server.

Doporučujeme použít zprostředkovatele OLE DB pro SQL Server (SQLOLEDB) s rozhraním .NET Framework Zprostředkovatel dat pro OLE DB.
Rozhraní .NET Framework Zprostředkovatel dat pro OLE DB Pro SQL Server se místo tohoto poskytovatele doporučuje rozhraní .NET Framework Zprostředkovatel dat pro SQL Server.

Doporučuje se pro jednovrstvé aplikace, které používají databáze Microsoft Accessu. Použití accessové databáze pro aplikaci střední vrstvy se nedoporučuje.
Rozhraní .NET Framework Zprostředkovatel dat pro rozhraní ODBC Doporučuje se pro aplikace střední a jednovrstvé, které používají zdroje dat ODBC.
Rozhraní .NET Framework Zprostředkovatel dat pro Oracle Doporučuje se pro aplikace střední a jednovrstvé, které používají zdroje dat Oracle.

Zprostředkovatel EntityClient

Zprostředkovatel EntityClient se používá pro přístup k datům na základě modelu Entity Data Model (EDM). Na rozdíl od ostatních zprostředkovatelů dat rozhraní .NET Framework nepracuje přímo se zdrojem dat. Místo toho používá Entity SQL ke komunikaci s podkladovým poskytovatelem dat. Další informace naleznete v tématu EntityClient Provider for the Entity Framework.

Viz také