Dostawcy danych programu .NET Framework
Dostawca danych programu .NET Framework służy do nawiązywania połączenia z bazą danych, wykonywania poleceń i pobierania wyników. Wyniki te są przetwarzane bezpośrednio, umieszczane w DataSet obiekcie w celu udostępnienia użytkownikowi w razie potrzeby, w połączeniu z danymi z wielu źródeł lub zdalnego między warstwami. Dostawcy danych programu .NET Framework są uproszczoni, tworząc minimalną warstwę między źródłem danych a kodem, zwiększając wydajność bez poświęcania funkcji.
W poniższej tabeli wymieniono dostawców danych uwzględnionych w programie .NET Framework.
Dostawca danych programu .NET Framework | opis |
---|---|
.NET Framework Data Provider for SQL Server | Zapewnia dostęp do danych dla programu Microsoft SQL Server. System.Data.SqlClient Używa przestrzeni nazw. |
.NET Framework Dostawca danych dla OLE DB | W przypadku źródeł danych udostępnianych przy użyciu ole DB. System.Data.OleDb Używa przestrzeni nazw. |
.NET Framework Dostawca danych dla ODBC | W przypadku źródeł danych udostępnianych przy użyciu odBC. System.Data.Odbc Używa przestrzeni nazw. |
.NET Framework Dostawca danych for Oracle | W przypadku źródeł danych Oracle. Program .NET Framework Dostawca danych for Oracle obsługuje oprogramowanie klienckie Oracle w wersji 8.1.7 lub nowszej System.Data.OracleClient oraz używa przestrzeni nazw. |
Dostawca EntityClient | Zapewnia dostęp do danych dla aplikacji modelu EDM (Entity Data Model). System.Data.EntityClient Używa przestrzeni nazw. |
.NET Framework Dostawca danych dla programu SQL Server Compact 4.0. | Zapewnia dostęp do danych dla programu Microsoft SQL Server Compact 4.0. Używa przestrzeni nazw System.Data.SqlServerCe. |
Podstawowe obiekty Dostawca danych programu .NET Framework
W poniższej tabeli przedstawiono cztery podstawowe obiekty tworzące dostawcę danych programu .NET Framework.
Obiekt | opis |
---|---|
Connection |
Ustanawia połączenie z określonym źródłem danych. Klasa bazowa dla wszystkich Connection obiektów jest klasą DbConnection . |
Command |
Wykonuje polecenie względem źródła danych. Uwidacznia Parameters element i może być wykonywany w zakresie obiektu Transaction z obiektu Connection . Klasa bazowa dla wszystkich Command obiektów jest klasą DbCommand . |
DataReader |
Odczytuje strumień danych tylko do odczytu z źródła danych tylko do odczytu. Klasa bazowa dla wszystkich DataReader obiektów jest klasą DbDataReader . |
DataAdapter |
Wypełnia element DataSet i usuwa aktualizacje ze źródłem danych. Klasa bazowa dla wszystkich DataAdapter obiektów jest klasą DbDataAdapter . |
Oprócz podstawowych klas wymienionych we wcześniejszej tabeli w tym dokumencie dostawca danych programu .NET Framework zawiera również klasy wymienione w poniższej tabeli.
Obiekt | opis |
---|---|
Transaction |
Zapisuje polecenia w transakcjach w źródle danych. Klasa bazowa dla wszystkich Transaction obiektów jest klasą DbTransaction . ADO.NET zapewnia również obsługę transakcji przy użyciu klas w System.Transactions przestrzeni nazw. |
CommandBuilder |
Obiekt pomocnika, który automatycznie generuje właściwości DataAdapter polecenia obiektu lub uzyskuje informacje o parametrach z procedury składowanej i wypełnia Parameters kolekcję Command obiektu. Klasa bazowa dla wszystkich CommandBuilder obiektów jest klasą DbCommandBuilder . |
ConnectionStringBuilder |
Obiekt pomocnika, który zapewnia prosty sposób tworzenia zawartości parametry połączenia używanych przez Connection obiekty i zarządzania nimi. Klasa bazowa dla wszystkich ConnectionStringBuilder obiektów jest klasą DbConnectionStringBuilder . |
Parameter |
Definiuje parametry danych wejściowych, wyjściowych i zwracanych dla poleceń i procedur składowanych. Klasa bazowa dla wszystkich Parameter obiektów jest klasą DbParameter . |
Exception |
Zwracany po napotkaniu błędu w źródle danych. W przypadku błędu napotkanego na kliencie dostawcy danych programu .NET Framework zgłaszają wyjątek programu .NET Framework. Klasa bazowa dla wszystkich Exception obiektów jest klasą DbException . |
Error |
Uwidacznia informacje z ostrzeżenia lub błędu zwróconego przez źródło danych. |
ClientPermission |
Podano atrybuty zabezpieczeń dostępu do kodu dostawcy danych programu .NET Framework. Klasa bazowa dla wszystkich ClientPermission obiektów jest klasą DBDataPermission . |
Dostawca danych programu .NET Framework dla programu SQL Server (SqlClient)
Program .NET Framework Dostawca danych dla programu SQL Server (SqlClient) używa własnego protokołu do komunikowania się z programem SQL Server. Jest on lekki i działa dobrze, ponieważ jest zoptymalizowany pod kątem bezpośredniego dostępu do programu SQL Server bez dodawania warstwy OLE DB lub Open Database Connectivity (ODBC). Poniższa ilustracja kontrastuje z Dostawca danych .NET Framework dla programu SQL Server przy użyciu programu .NET Framework Dostawca danych dla ole DB. Program .NET Framework Dostawca danych dla OLE DB komunikuje się ze źródłem danych OLE DB za pośrednictwem składnika usługi OLE DB, który zapewnia buforowanie połączeń i usługi transakcji oraz dostawcę OLE DB dla źródła danych.
Uwaga
Dostawca danych .NET Framework dla ODBC ma podobną architekturę do platformy .NET Framework Dostawca danych dla OLE DB, na przykład wywołuje składnik usługi ODBC.
Dostawca danych programu .NET Framework dla klas programu SQL Server znajdują się w System.Data.SqlClient przestrzeni nazw.
Program .NET Framework Dostawca danych dla programu SQL Server obsługuje zarówno transakcje lokalne, jak i rozproszone. W przypadku transakcji rozproszonych program .NET Framework Dostawca danych dla programu SQL Server domyślnie automatycznie loguje się do transakcji i uzyskuje szczegóły transakcji z usług składników systemu Windows lub System.Transactions. Aby uzyskać więcej informacji, zobacz Transakcje i Współbieżność.
Poniższy przykład kodu pokazuje, jak uwzględnić System.Data.SqlClient
przestrzeń nazw w aplikacjach.
Imports System.Data.SqlClient
using System.Data.SqlClient;
.NET Framework Dostawca danych dla OLE DB
Program .NET Framework Dostawca danych dla OLE DB (OleDb) używa natywnej bazy danych OLE DB za pośrednictwem międzyoperacyjności modelu COM w celu umożliwienia dostępu do danych. Program .NET Framework Dostawca danych dla OLE DB obsługuje zarówno transakcje lokalne, jak i rozproszone. W przypadku transakcji rozproszonych program .NET Framework Dostawca danych dla ole DB domyślnie automatycznie zapisuje się w transakcji i uzyskuje szczegóły transakcji z usług składników systemu Windows. Aby uzyskać więcej informacji, zobacz Transakcje i Współbieżność.
W poniższej tabeli przedstawiono dostawców, którzy zostali przetestowani przy użyciu ADO.NET.
Sterownik | Dostawca |
---|---|
SQLOLEDB | Dostawca Microsoft OLE DB dla programu SQL Server |
MSDAORA | Dostawca Microsoft OLE DB dla firmy Oracle |
Microsoft.Jet.OLEDB.4.0 | Dostawca OLE DB dla firmy Microsoft Jet |
Uwaga
Nie zaleca się używania bazy danych programu Access (Jet) jako źródła danych dla aplikacji wielowątków, takich jak aplikacje ASP.NET. Jeśli musisz użyć narzędzia Jet jako źródła danych dla aplikacji ASP.NET, należy pamiętać, że ASP.NET aplikacje łączące się z bazą danych programu Access mogą napotkać problemy z połączeniem.
Program .NET Framework Dostawca danych dla OLE DB nie obsługuje interfejsów OLE DB w wersji 2.5. Dostawcy OLE DB, którzy wymagają obsługi interfejsów OLE DB 2.5, nie będą działać poprawnie z platformą .NET Framework Dostawca danych dla OLE DB. Obejmuje to dostawcę Microsoft OLE DB dla programu Exchange i dostawcę Microsoft OLE DB na potrzeby publikowania internetowego.
Program .NET Framework Dostawca danych dla OLE DB nie współpracuje z dostawcą OLE DB dla ODBC (MSDASQL). Aby uzyskać dostęp do źródła danych ODBC przy użyciu ADO.NET, użyj Dostawca danych .NET Framework dla odBC.
Program .NET Framework Dostawca danych dla klas OLE DB znajduje się w System.Data.OleDb przestrzeni nazw. Poniższy przykład kodu pokazuje, jak uwzględnić System.Data.OleDb
przestrzeń nazw w aplikacjach.
Imports System.Data.OleDb
using System.Data.OleDb;
.NET Framework Dostawca danych dla ODBC
Program .NET Framework Dostawca danych dla odBC (Odbc) używa natywnego menedżera sterowników ODBC (DM) w celu umożliwienia dostępu do danych. Dostawca danych ODBC obsługuje zarówno transakcje lokalne, jak i rozproszone. W przypadku transakcji rozproszonych dostawca danych ODBC domyślnie automatycznie loguje się do transakcji i uzyskuje szczegóły transakcji z usług składników systemu Windows. Aby uzyskać więcej informacji, zobacz Transakcje i Współbieżność.
W poniższej tabeli przedstawiono sterowniki ODBC przetestowane przy użyciu ADO.NET.
Sterownik |
---|
SQL Server |
Microsoft ODBC for Oracle |
Sterownik programu Microsoft Access (*.mdb) |
Program .NET Framework Dostawca danych dla klas ODBC znajduje się w System.Data.Odbc przestrzeni nazw.
Poniższy przykład kodu pokazuje, jak uwzględnić System.Data.Odbc
przestrzeń nazw w aplikacjach.
Imports System.Data.Odbc
using System.Data.Odbc;
Uwaga
Zaleca się, aby program .NET Framework Dostawca danych dla ODBC wymagał programu MDAC 2.6 lub nowszej wersji, a zaleca się użycie programu MDAC 2.8 z dodatkiem SP1.
.NET Framework Dostawca danych for Oracle
Program .NET Framework Dostawca danych for Oracle (OracleClient) umożliwia dostęp do danych do źródeł danych Oracle za pośrednictwem oprogramowania do łączności klienta Oracle. Dostawca danych obsługuje oprogramowanie klienckie Oracle w wersji 8.1.7 lub nowszej. Dostawca danych obsługuje zarówno transakcje lokalne, jak i rozproszone. Aby uzyskać więcej informacji, zobacz Transakcje i Współbieżność.
Program .NET Framework Dostawca danych dla programu Oracle wymaga oprogramowania klienckiego Oracle (w wersji 8.1.7 lub nowszej) w systemie przed nawiązaniem połączenia ze źródłem danych Oracle.
Program .NET Framework Dostawca danych dla klas Oracle znajduje się w System.Data.OracleClient przestrzeni nazw i znajduje się w System.Data.OracleClient.dll
zestawie. Należy odwołać się zarówno do elementu , jak System.Data.dll
i System.Data.OracleClient.dll
podczas kompilowania aplikacji korzystającej z dostawcy danych.
Poniższy przykład kodu pokazuje, jak uwzględnić System.Data.OracleClient
przestrzeń nazw w aplikacjach.
Imports System.Data
Imports System.Data.OracleClient
using System.Data;
using System.Data.OracleClient;
Wybieranie Dostawca danych programu .NET Framework
W zależności od projektu i źródła danych dla aplikacji wybór dostawcy danych programu .NET Framework może poprawić wydajność, możliwości i integralność aplikacji. W poniższej tabeli omówiono zalety i ograniczenia poszczególnych dostawców danych programu .NET Framework.
Dostawca | Uwagi |
---|---|
.NET Framework Data Provider for SQL Server | Zalecane w przypadku aplikacji warstwy środkowej korzystających z programu Microsoft SQL Server. Zalecane w przypadku aplikacji jednowarstwowych korzystających z aparatu bazy danych Microsoft (MSDE) lub programu SQL Server. Zalecane w przypadku używania dostawcy OLE DB dla programu SQL Server (SQLOLEDB) z programem .NET Framework Dostawca danych dla OLE DB. |
.NET Framework Dostawca danych dla OLE DB | W przypadku programu SQL Server zalecane jest Dostawca danych programu .NET Framework dla programu SQL Server zamiast tego dostawcy. Zalecane w przypadku aplikacji jednowarstwowych korzystających z baz danych programu Microsoft Access. Korzystanie z bazy danych programu Access dla aplikacji warstwy środkowej nie jest zalecane. |
.NET Framework Dostawca danych dla ODBC | Zalecane w przypadku aplikacji środkowych i jednowarstwowych korzystających ze źródeł danych ODBC. |
.NET Framework Dostawca danych for Oracle | Zalecane w przypadku aplikacji środkowych i jednowarstwowych korzystających ze źródeł danych Oracle. |
Dostawca EntityClient
Dostawca EntityClient służy do uzyskiwania dostępu do danych na podstawie modelu danych JEDNOSTKI (EDM). W przeciwieństwie do innych dostawców danych programu .NET Framework, nie współdziała ona bezpośrednio ze źródłem danych. Zamiast tego używa języka Entity SQL do komunikowania się z podstawowym dostawcą danych. Aby uzyskać więcej informacji, zobacz EntityClient Provider for the Entity Framework (Dostawca EntityClient dla programu Entity Framework).