Dostawcy danych .NET framework.NET Framework Data Providers

A .NET Framework.NET Framework dostawca danych służy do nawiązywania połączenia z bazą danych, wykonywania poleceń i pobierania wyników.A .NET Framework.NET Framework data provider is used for connecting to a database, executing commands, and retrieving results. Wyniki są albo przetwarzane bezpośrednio, umieszczone w DataSet aby widoczne dla użytkownika, zgodnie z potrzebami, połączony z danymi z wielu źródeł lub węzłach między warstwami.Those results are either processed directly, placed in a DataSet in order to be exposed to the user as needed, combined with data from multiple sources, or remoted between tiers. .NET Framework.NET Framework dostawcy danych to lekkie, tworzenie minimalnego warstwy między źródłem danych i kod, zwiększenie wydajności bez ograniczania funkcjonalności. data providers are lightweight, creating a minimal layer between the data source and code, increasing performance without sacrificing functionality.

W poniższej tabeli wymieniono dostawcy danych, które są objęte .NET Framework.NET Framework.The following table lists the data providers that are included in the .NET Framework.NET Framework.

.NET Framework.NET Framework Dostawca danych data provider OpisDescription
.NET Framework.NET Framework Dostawca danych programu SQL Server Data Provider for SQL Server Zapewnia dostęp do danych programu Microsoft SQL Server.Provides data access for Microsoft SQL Server. Używa System.Data.SqlClient przestrzeni nazw.Uses the System.Data.SqlClient namespace.
.NET Framework.NET Framework Dostawca danych OLE DB dla Data Provider for OLE DB Dla źródeł danych udostępniany przy użyciu OLE DB.For data sources exposed by using OLE DB. Używa System.Data.OleDb przestrzeni nazw.Uses the System.Data.OleDb namespace.
.NET Framework.NET Framework Dostawca danych dla ODBC Data Provider for ODBC Dla źródeł danych udostępnianych przez za pośrednictwem sterownika ODBC.For data sources exposed by using ODBC. Używa System.Data.Odbc przestrzeni nazw.Uses the System.Data.Odbc namespace.
.NET Framework.NET Framework Dostawca danych dla programu Oracle Data Provider for Oracle Dla źródła danych programu Oracle.For Oracle data sources. .NET Framework.NET Framework Dostawcy danych programu Oracle obsługuje Oracle oprogramowania klienta w wersji version 8.1.7 lub nowszej i używa System.Data.OracleClient przestrzeni nazw.The .NET Framework.NET Framework Data Provider for Oracle supports Oracle client software version 8.1.7 and later, and uses the System.Data.OracleClient namespace.
Dostawca EntityClientEntityClient Provider Zapewnia dostęp do danych dla modelu danych jednostki (EDM) aplikacji.Provides data access for Entity Data Model (EDM) applications. Używa System.Data.EntityClient przestrzeni nazw.Uses the System.Data.EntityClient namespace.
.NET Framework.NET Framework Dostawca danych programu SQL Server Compact 4.0. Data Provider for SQL Server Compact 4.0. Zapewnia dostęp do danych dla programu Microsoft SQL Server Compact 4.0.Provides data access for Microsoft SQL Server Compact 4.0. Używa System.Data.SqlServerCe przestrzeni nazw.Uses the System.Data.SqlServerCe namespace.

Podstawowych obiektów dostawcy danych .NET FrameworkCore Objects of .NET Framework Data Providers

W poniższej tabeli przedstawiono cztery podstawowych obiektów, które tworzą .NET Framework.NET Framework dostawcy danych.The following table outlines the four core objects that make up a .NET Framework.NET Framework data provider.

ObiektObject OpisDescription
Connection Ustanawia połączenie z określonego źródła danych.Establishes a connection to a specific data source. Klasa podstawowa dla wszystkich Connection obiektów jest DbConnection klasy.The base class for all Connection objects is the DbConnection class.
Command Wykonuje polecenie względem źródła danych.Executes a command against a data source. Przedstawia Parameters i może zostać uruchomiony w zakresie Transaction z Connection.Exposes Parameters and can execute in the scope of a Transaction from a Connection. Klasa podstawowa dla wszystkich Command obiektów jest DbCommand klasy.The base class for all Command objects is the DbCommand class.
DataReader Odczytuje tylko do przodu, tylko do odczytu strumienia danych ze źródła danych.Reads a forward-only, read-only stream of data from a data source. Klasa podstawowa dla wszystkich DataReader obiektów jest DbDataReader klasy.The base class for all DataReader objects is the DbDataReader class.
DataAdapter Wypełnia DataSet i rozpoznawany jako aktualizacje ze źródłem danych.Populates a DataSet and resolves updates with the data source. Klasa podstawowa dla wszystkich DataAdapter obiektów jest DbDataAdapter klasy.The base class for all DataAdapter objects is the DbDataAdapter class.

Oprócz podstawowe klasy wymienione w tabeli wcześniej w tym dokumencie .NET Framework.NET Framework dostawcy danych zawiera także klas wymienionych w poniższej tabeli.In addition to the core classes listed in the table earlier in this document, a .NET Framework.NET Framework data provider also contains the classes listed in the following table.

ObiektObject OpisDescription
Transaction Rejestruje poleceń w transakcji w źródle danych.Enlists commands in transactions at the data source. Klasa podstawowa dla wszystkich Transaction obiektów jest DbTransaction klasy.The base class for all Transaction objects is the DbTransaction class. ADO.NET także zapewnia obsługę transakcji za pomocą klasy w System.Transactions przestrzeni nazw.ADO.NET also provides support for transactions using classes in the System.Transactions namespace.
CommandBuilder Obiekt pomocnika, które automatycznie generuje właściwości polecenia DataAdapter lub uzyskuje informacje o parametrach procedury składowanej i wypełnia Parameters Kolekcja Command obiektu.A helper object that automatically generates command properties of a DataAdapter or derives parameter information from a stored procedure and populates the Parameters collection of a Command object. Klasa podstawowa dla wszystkich CommandBuilder obiektów jest DbCommandBuilder klasy.The base class for all CommandBuilder objects is the DbCommandBuilder class.
ConnectionStringBuilder Obiekt pomocnika, która zapewnia prosty sposób tworzenia i zarządzania zawartością parametrów połączeń używanych przez Connection obiektów.A helper object that provides a simple way to create and manage the contents of connection strings used by the Connection objects. Klasa podstawowa dla wszystkich ConnectionStringBuilder obiektów jest DbConnectionStringBuilder klasy.The base class for all ConnectionStringBuilder objects is the DbConnectionStringBuilder class.
Parameter Definiuje danych wejściowych, wyjściowych i parametrów wartości zwracanej dla poleceń i procedur składowanych.Defines input, output, and return value parameters for commands and stored procedures. Klasa podstawowa dla wszystkich Parameter obiektów jest DbParameter klasy.The base class for all Parameter objects is the DbParameter class.
Exception Zwracany, gdy wystąpi błąd w źródle danych.Returned when an error is encountered at the data source. Wystąpił błąd wystąpił na kliencie .NET Framework.NET Framework throw dostawców danych .NET Framework.NET Framework wyjątku.For an error encountered at the client, .NET Framework.NET Framework data providers throw a .NET Framework.NET Framework exception. Klasa podstawowa dla wszystkich Exception obiektów jest DbException klasy.The base class for all Exception objects is the DbException class.
Error Udostępnia informacje, ostrzeżenie lub błąd zwrócony przez źródło danych.Exposes the information from a warning or error returned by a data source.
ClientPermission Podany dla .NET Framework.NET Framework atrybutów zabezpieczeń dostępu kodu dostawcy danych.Provided for .NET Framework.NET Framework data provider code access security attributes. Klasa podstawowa dla wszystkich ClientPermission obiektów jest DBDataPermission klasy.The base class for all ClientPermission objects is the DBDataPermission class.

Dostawca danych programu .NET framework dla programu SQL Server (SqlClient).NET Framework Data Provider for SQL Server (SqlClient)

.NET Framework.NET Framework Dostawcy danych programu SQL Server (SqlClient) używa własnego protokołu do komunikowania się z programem SQL Server.The .NET Framework.NET Framework Data Provider for SQL Server (SqlClient) uses its own protocol to communicate with SQL Server. Jest lekki i wykonuje dobrze, ponieważ jest zoptymalizowany do dostępu do serwera SQL bezpośrednio, bez dodawania warstwy OLE DB lub Otwórz połączenie bazy danych (ODBC).It is lightweight and performs well because it is optimized to access a SQL Server directly without adding an OLE DB or Open Database Connectivity (ODBC) layer. Poniższej ilustracji zestawiono ze sobą .NET Framework.NET Framework dostawcy danych programu SQL Server z .NET Framework.NET Framework dostawcy danych OLE DB.The following illustration contrasts the .NET Framework.NET Framework Data Provider for SQL Server with the .NET Framework.NET Framework Data Provider for OLE DB. .NET Framework.NET Framework Dostawcy danych OLE DB komunikuje się ze źródłem danych OLE DB za pomocą obu usługi OLE DB składnika, który zapewnia puli połączeń i transakcji usługi i dostawcy OLE DB dla źródła danych.The .NET Framework.NET Framework Data Provider for OLE DB communicates to an OLE DB data source through both the OLE DB Service component, which provides connection pooling and transaction services, and the OLE DB provider for the data source.

Uwaga

.NET Framework.NET Framework Dostawcy danych ODBC ma podobną architekturę do .NET Framework.NET Framework dostawcy danych OLE DB; na przykład wywołuje do składnika usługi ODBC.The .NET Framework.NET Framework Data Provider for ODBC has a similar architecture to the .NET Framework.NET Framework Data Provider for OLE DB; for example, it calls into an ODBC Service Component.

Dostawcy danychData providers
Porównanie dostawcy danych programu .NET Framework dla programu SQL Server i .NET Framework Data Provider for OLE DBComparison of the .NET Framework Data Provider for SQL Server and the .NET Framework Data Provider for OLE DB

.NET Framework.NET Framework Dostawcy danych dla klas SQL Server znajdują się w System.Data.SqlClient przestrzeni nazw.The .NET Framework.NET Framework Data Provider for SQL Server classes are located in the System.Data.SqlClient namespace.

.NET Framework.NET Framework Dostawcy danych programu SQL Server obsługuje zarówno lokalnych, jak i rozproszonych transakcje.The .NET Framework.NET Framework Data Provider for SQL Server supports both local and distributed transactions. W przypadku transakcji rozproszonych .NET Framework.NET Framework dostawcy danych programu SQL Server, domyślnie rejestruje w transakcji i automatycznie uzyskuje szczegóły transakcji z usługi składników systemu Windows lub System.Transactions.For distributed transactions, the .NET Framework.NET Framework Data Provider for SQL Server, by default, automatically enlists in a transaction and obtains transaction details from Windows Component Services or System.Transactions. Aby uzyskać więcej informacji, zobacz transakcji i współbieżność.For more information, see Transactions and Concurrency.

Poniższy przykładowy kod przedstawia sposób obejmują System.Data.SqlClient przestrzeni nazw w aplikacji.The following code example shows how to include the System.Data.SqlClient namespace in your applications.

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

Dostawca danych programu .NET framework dla OLE DB.NET Framework Data Provider for OLE DB

.NET Framework.NET Framework Dostawcy danych OLE DB (OleDb) używa natywnego OLE DB za pomocą modelu COM interop, aby umożliwić dostęp do danych.The .NET Framework.NET Framework Data Provider for OLE DB (OleDb) uses native OLE DB through COM interop to enable data access. .NET Framework.NET Framework Dostawcy danych OLE DB obsługuje zarówno lokalnych, jak i rozproszonych transakcje.The .NET Framework.NET Framework Data Provider for OLE DB supports both local and distributed transactions. W przypadku transakcji rozproszonych .NET Framework.NET Framework dostawcy danych OLE DB, domyślnie rejestruje w transakcji i automatycznie uzyskuje szczegóły transakcji z usługi składników systemu Windows.For distributed transactions, the .NET Framework.NET Framework Data Provider for OLE DB, by default, automatically enlists in a transaction and obtains transaction details from Windows Component Services. Aby uzyskać więcej informacji, zobacz transakcji i współbieżność.For more information, see Transactions and Concurrency.

W poniższej tabeli przedstawiono dostawców, które zostały przetestowane z ADO.NETADO.NET.The following table shows the providers that have been tested with ADO.NETADO.NET.

SterownikDriver DostawcyProvider
SQLOLEDBSQLOLEDB Dostawca Microsoft OLE DB dla programu SQL ServerMicrosoft OLE DB provider for SQL Server
MSDAORAMSDAORA Dostawca Microsoft OLE DB dla OracleMicrosoft OLE DB provider for Oracle
Microsoft.Jet.OLEDB.4.0Microsoft.Jet.OLEDB.4.0 Dostawca OLE DB dla programu Microsoft JetOLE DB provider for Microsoft Jet

Uwaga

Przy użyciu bazy danych programu Access (Jet) jako źródła danych dla aplikacji wielowątkowych, takich jak ASP.NETASP.NET aplikacji, nie jest zalecane.Using an Access (Jet) database as a data source for multithreaded applications, such as ASP.NETASP.NET applications, is not recommended. Jeśli jako źródło danych musi używać Jet ASP.NETASP.NET aplikacji, należy pamiętać, że ASP.NETASP.NET aplikacji nawiązywania połączenia z bazą danych programu Access mogą wystąpić problemy z połączeniem.If you must use Jet as a data source for an ASP.NETASP.NET application, realize that ASP.NETASP.NET applications connecting to an Access database can encounter connection problems.

.NET Framework.NET Framework Dostawcy danych OLE DB nie obsługuje interfejsów wersji 2.5 OLE DB.The .NET Framework.NET Framework Data Provider for OLE DB does not support OLE DB version 2.5 interfaces. Dostawców OLE DB wymagających pomocy technicznej dla OLE DB 2.5 interfejsy będzie działać poprawnie z .NET Framework.NET Framework dostawcy danych OLE DB.OLE DB Providers that require support for OLE DB 2.5 interfaces will not function correctly with the .NET Framework.NET Framework Data Provider for OLE DB. Dotyczy to również dostawcy Microsoft OLE DB dla programu Exchange i dostawcy Microsoft OLE DB dla publikacji Internet.This includes the Microsoft OLE DB provider for Exchange and the Microsoft OLE DB provider for Internet Publishing.

.NET Framework.NET Framework Dostawcy danych OLE DB nie działa z dostawcy OLE DB dla ODBC (MSDASQL).The .NET Framework.NET Framework Data Provider for OLE DB does not work with the OLE DB provider for ODBC (MSDASQL). Aby dostęp do ODBC źródła danych przy użyciu ADO.NETADO.NET, użyj .NET Framework.NET Framework dostawcy danych dla ODBC.To access an ODBC data source using ADO.NETADO.NET, use the .NET Framework.NET Framework Data Provider for ODBC.

.NET Framework.NET Framework Dostawca danych OLE DB klas znajdują się w System.Data.OleDb przestrzeni nazw. Data Provider for OLE DB classes are located in the System.Data.OleDb namespace. Poniższy przykładowy kod przedstawia sposób obejmują System.Data.OleDb przestrzeni nazw w aplikacji.The following code example shows how to include the System.Data.OleDb namespace in your applications.

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

.NET framework Data Provider for ODBC.NET Framework Data Provider for ODBC

.NET Framework.NET Framework Dostawcy danych ODBC (Odbc) używa natywnego Menedżera sterowników ODBC (DM), aby umożliwić dostęp do danych.The .NET Framework.NET Framework Data Provider for ODBC (Odbc) uses the native ODBC Driver Manager (DM) to enable data access. Dostawca danych ODBC obsługuje zarówno lokalnych, jak i rozproszonych transakcji.The ODBC data provider supports both local and distributed transactions. Transakcji rozproszonych dostawcę danych ODBC, domyślnie rejestruje w transakcji i automatycznie uzyskuje szczegóły transakcji z usługi składników systemu Windows.For distributed transactions, the ODBC data provider, by default, automatically enlists in a transaction and obtains transaction details from Windows Component Services. Aby uzyskać więcej informacji, zobacz transakcji i współbieżność.For more information, see Transactions and Concurrency.

W poniższej tabeli przedstawiono sterowników ODBC przetestowana ADO.NETADO.NET.The following table shows the ODBC drivers tested with ADO.NETADO.NET.

SterownikDriver
SQL ServerSQL Server
Microsoft ODBC dla OracleMicrosoft ODBC for Oracle
Sterownik programu Microsoft Access (*.mdb)Microsoft Access Driver (*.mdb)

.NET Framework.NET Framework Dostawca danych dla klasy ODBC znajdują się w System.Data.Odbc przestrzeni nazw. Data Provider for ODBC classes are located in the System.Data.Odbc namespace.

Poniższy przykładowy kod przedstawia sposób obejmują System.Data.Odbc przestrzeni nazw w aplikacji.The following code example shows how to include the System.Data.Odbc namespace in your applications.

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

Uwaga

.NET Framework.NET Framework Dostawcy danych ODBC wymaga składników MDAC w wersji 2.6 lub nowszej wersji, a MDAC 2.8 SP1 jest zalecane.The .NET Framework.NET Framework Data Provider for ODBC requires MDAC 2.6 or a later version, and MDAC 2.8 SP1 is recommended. Możesz pobrać MDAC 2.8 z dodatkiem SP1 z dostęp do danych i magazynu w Centrum deweloperów.You can download MDAC 2.8 SP1 from the Data Access and Storage Developer Center.

.NET framework Data Provider for Oracle.NET Framework Data Provider for Oracle

.NET Framework.NET Framework Dostawcy danych programu Oracle (OracleClient) umożliwia dostęp do danych ze źródłami danych Oracle za pośrednictwem połączenia klienta Oracle.The .NET Framework.NET Framework Data Provider for Oracle (OracleClient) enables data access to Oracle data sources through Oracle client connectivity software. Dostawca danych obsługuje oprogramowania klienta Oracle w wersji version 8.1.7 lub nowszej wersji.The data provider supports Oracle client software version 8.1.7 or a later version. Dostawca danych obsługuje zarówno lokalnych, jak i rozproszonych transakcji.The data provider supports both local and distributed transactions. Aby uzyskać więcej informacji, zobacz transakcji i współbieżność.For more information, see Transactions and Concurrency.

.NET Framework.NET Framework Dostawcy danych programu Oracle wymaga oprogramowania klienta Oracle (wersji version 8.1.7 lub nowszej wersji) w systemie, zanim będzie można połączyć ze źródłem danych programu Oracle.The .NET Framework.NET Framework Data Provider for Oracle requires Oracle client software (version 8.1.7 or a later version) on the system before you can connect to an Oracle data source.

.NET Framework.NET Framework Dostawca danych programu Oracle klas znajdują się w System.Data.OracleClient przestrzeni nazw i są zawarte w System.Data.OracleClient.dll zestawu. Data Provider for Oracle classes are located in the System.Data.OracleClient namespace and are contained in the System.Data.OracleClient.dll assembly. Odwołanie do obu System.Data.dll i System.Data.OracleClient.dll podczas kompilowania aplikacji, która używa dostawcy danych.You must reference both the System.Data.dll and the System.Data.OracleClient.dll when you compile an application that uses the data provider.

Poniższy przykładowy kod przedstawia sposób obejmują System.Data.OracleClient przestrzeni nazw w aplikacji.The following code example shows how to include the System.Data.OracleClient namespace in your applications.

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

Wybieranie dostawcy danych .NET FrameworkChoosing a .NET Framework Data Provider

W zależności od projektu i źródła danych dla aplikacji, wybór .NET Framework.NET Framework dostawcy danych może poprawić wydajność, możliwości i integralności aplikacji.Depending on the design and data source for your application, your choice of .NET Framework.NET Framework data provider can improve the performance, capability, and integrity of your application. Poniższa tabela zawiera omówienie korzyści i ograniczenia dotyczące każdego .NET Framework.NET Framework dostawcy danych.The following table discusses the advantages and limitations of each .NET Framework.NET Framework data provider.

DostawcyProvider UwagiNotes
.NET Framework.NET Framework Dostawca danych programu SQL Server Data Provider for SQL Server Zalecane dla aplikacji warstwy środkowej, które używają programu Microsoft SQL Server.Recommended for middle-tier applications that use Microsoft SQL Server.

Zalecane w przypadku aplikacji jednowarstwową, korzystających z aparatu bazy danych programu Microsoft (MSDE) lub SQL Server.Recommended for single-tier applications that use Microsoft Database Engine (MSDE) or SQL Server.

Zalecane przez użycie dostawcy OLE DB dla programu SQL Server (SQLOLEDB) z .NET Framework.NET Framework dostawcy danych OLE DB.Recommended over use of the OLE DB provider for SQL Server (SQLOLEDB) with the .NET Framework.NET Framework Data Provider for OLE DB.
.NET Framework.NET Framework Dostawca danych OLE DB dla Data Provider for OLE DB Dla programu SQL Server .NET Framework.NET Framework dostawcy danych programu SQL Server jest zalecane zamiast tego dostawcy.For SQL Server, the .NET Framework.NET Framework Data Provider for SQL Server is recommended instead of this provider.

Zalecane w przypadku jednowarstwową aplikacji, które używają bazy danych programu Microsoft Access.Recommended for single-tier applications that use Microsoft Access databases. Nie zaleca się korzystanie z bazy danych programu Access dla aplikacji warstwy środkowej.Use of an Access database for a middle-tier application is not recommended.
.NET Framework.NET Framework "Dostawca danych dla ODBC ``Data Provider for ODBC Zalecane dla Środkowej i warstwy pojedynczej aplikacji, które używają źródła danych ODBC.Recommended for middle and single-tier applications that use ODBC data sources.
.NET Framework.NET Framework ' Data Provider for Oracle ``Data Provider for Oracle Zalecane dla Środkowej i warstwy pojedynczej aplikacji, które używają źródła danych Oracle.Recommended for middle and single-tier applications that use Oracle data sources.

Dostawca EntityClientEntityClient Provider

Dostawca EntityClient jest używany do uzyskiwania dostępu do danych oparte na modelu danych jednostki (EDM).The EntityClient provider is used for accessing data based on an Entity Data Model (EDM). W przeciwieństwie do innych .NET Framework dostawców danych nie współdziała bezpośrednio ze źródłem danych.Unlike the other .NET Framework data providers, it does not interact directly with a data source. Zamiast tego używa SQL jednostki do komunikowania się z podstawowym dostawcą danych.Instead, it uses Entity SQL to communicate with the underlying data provider. Aby uzyskać więcej informacji, zobacz EntityClient i SQL jednostki.For more information, see EntityClient and Entity SQL.

Zobacz teżSee Also

Omówienie ADO.NETADO.NET Overview
Pobieranie i modyfikowanie danych ADO.NETRetrieving and Modifying Data in ADO.NET
ADO.NET zarządzanego dostawcy i zestawu danych w Centrum deweloperówADO.NET Managed Providers and DataSet Developer Center