Введение в ADO .NET. Поставщики данных (провайдеры). Пространства имен ADO .NET
Поиск на других ресурсах:
Содержание
- 1. Общие сведения об ADO .NET. Поставщики данных (провайдеры)
- 2. Список объектов поставщиков данных. Таблица
- 3. Поставщики данных (провайдеры). Перечень. Пространства имен
- 4. Дополнительные пространства имен. Перечень
- Связанные темы
1. Общие сведения об ADO .NET. Поставщики данных (провайдеры)
В платформу Microsoft .NET входит ряд пространств имен, содержащих средства взаимодействия как с локальными, так и с удаленными базами данных. Классы, размещаемые в этих пространствах имен, составляют основу технологии доступа к базам данных под названием ADO .NET (ActiveX Data Object для .NET).
Эти средства ADO .NET обеспечивают доступ к разным поставщикам данных (data provider), которые еще называют провайдерами. Каждый провайдер запрограммирован на взаимодействие с конкретной системой управления базами данных (СУБД). То есть, нет единого универсального набора классов (типов), которые взаимодействуют с разными СУБД.
Использование отдельного провайдера для доступа к соответствующей СУБД позволяет:
- программировать особого поставщика данных для доступа к любой уникальной конкретной СУБД;
- обеспечить прямое подключение конкретного поставщика данных к механизму СУБД без использования дополнительных межуровневых средств отображения.
Для каждого конкретного провайдера (поставщика данных) определено:
- пространство имен с соответствующими типами (классами) непосредственно взаимодействующими с этим провайдером;
- пространство имен, содержащее базовую функциональность, взаимодействующую с любым поставщиком данных.
⇑
2. Список объектов поставщиков данных. Таблица
В терминологии ADO .NET принято определять понятие объекта данных на основе его базового класса. Так, например, экземпляр класса DbConnection считается объектом Connection, а экземпляр класса DbCommand принято называть объектом Command.
В таблице ниже отображаются основные объекты поставщиков данных ADO .NET.
Тип объекта | Базовый класс | Интерфейс | Назначение |
Connection | DbConnection | IDbConnection | Обеспечивает подключение к источнику данных и отключение от него, доступ к объектам транзакций. |
Command | DbCommand | IDbCommand | Реализует SQL-запрос или хранимую процедуру. Также обеспечивает доступ к объекту чтения данных конкретного поставщика данных |
DataReader | DbDataReader |
IDataReader, IDataRecord |
Представляет доступ к данным только для чтения. Чтение данных происходит в одном направлении с помощью курсора на стороне сервера |
DataAdapter | DbDataAdapter |
IDataAdapter, IDbDataAdapter |
Обеспечивает обмен данными между хранилищем данных и вызывающим процессом с помощью команд выборки, вставки, изменения и удаления информации |
Parameter | DbParameter |
IDataParameter, IDbDataParameter |
Реализует именуемый параметр в параметризированном запросе |
Transaction | DbTransaction | IDbTransaction | Инкапсулирует транзакцию в базе данных |
Из классов (интерфейсов) вышеприведенных основных объектов унаследованы классы конкретных провайдеров, имеющих префикс соответствующей СУБД.
Например, из класса DbConnection унаследованы классы SqlConnection, OracleConnection, OdbcConnection и OledbConnection. А из класса DbCommand унаследованы классы SqlCommand, OracleCommand, OdbcCommand, OledbCommand.
На рисунке 1 показано взаимодействие клиентского приложения с базой данных через поставщика данных (провайдера).
Рисунок 1. Взаимодействие клиентского приложения с базой данных
Клиентским приложением может быть любой тип приложения: консольное приложение, приложение типа Windows Forms, WPF-приложение, веб-страница ASP .NET, WCF-служба, кодовая библиотека .NET и т.д.
⇑
3. Поставщики данных (провайдеры). Перечень. Пространства имен
В пакет .NET Framework входит набор средств для работы с разными Microsoft поставщиками данных и поставщиками данных других разработчиков (в частности, Oracle).
Ниже в таблице отображаются поставщики данных, поддерживаемые в .NET Framework. Для каждого поставщика указываются:
- пространства имен, которые нужно подключить при использовании;
- имена сборок, содержащих реализацию.
Поставщик данных | Пространство имен | Сборка |
Microsoft SQL Server | System.Data.OleDb | System.Data.Dll |
Microsoft SQL Server Mobile | System.Data.SqlClient | System.Data.Dll |
ODBC | System.Data.SqlServerCe | System.Data.SqlServerCe.dll |
OLE DB | System.Data.Odbc | System.Data.Dll |
Oracle Client | System.Data.OracleClient | System.Data.OracleClient.dll |
Ниже приведена краткая характеристика каждого провайдера.
3.1. Microsoft SQL Server. Поставщик данных Microsoft SQL Server обеспечивает прямой доступ к базам данных типа SQL Server. Все необходимые средства работы с этим провайдером размещаются в пространстве имен System.Data.SqlClient. Соответственно строка подключения этого пространства имен на языке C# будет следующей:
using System.DataSqlClient;
3.2. OLE DB (Object Linking and Embedding, Database). Поставщик данных OLE DB имеет такую же базовую функциональность, что и Microsoft SQL Server. Однако этот поставщик использует дополнительный уровень взаимодействия с базой данных, что дает снижение производительности по сравнению с Microsoft SQL Server. Провайдер OLE DB необходимо использовать, если возникает необходимость взаимодействия с базой данных Microsoft Access.
Данный провайдер поставляется в пространстве имен System.Data.OleDb. Соответственно строка подключения провайдера OLE DB будет следующая:
using System.Data.OleDb;
3.3. ODBC (Open DataBase Connectivity). Это программный интерфейс для различных разработчиков при создании приложений, использующих доступ к данным без использования конкретного провайдера. Чтобы использовать средства ODBC, нужно подключить пространство имен System.Data.Odbc
using System.Data.Odbc;
3.4. Oracle Client. Поставщик данных Oracle Client предназначен для взаимодействия с базами данных Oracle. Существует две возможные разновидности сборок этого типа провайдера. Первая сборка от компании Microsoft, размещаемая в пространстве имен System.Data.OracleClient.dll. Вторая – от компании Oracle, которую можно скачать с официального сайта Oracle www.oracle.com.
3.5. Сторонние поставщики данных ADO .NET. Технология ADO .NET позволяет подключать сторонних поставщиков для доступа к СУБД любого типа. Эти системы могут быть как коммерческие, так и с открытым исходным кодом. Примерами таких поставщиков могут быть SQLite, IBM DB2, MySQL, PostgreSQL, TurboDB, Sybase и другие.
⇑
4. Дополнительные пространства имен. Перечень
Библиотека Microsoft .NET Framework содержит дополнительные пространства имен, используемые при программировании задач, связанных с ADO .NET. К таким пространствам имен можно отнести следующие:
- Microsoft.SqlServer.Server – содержит типы для работы службы интеграции CLR и SQL Server 2005;
- System.Data – определяет основные типы ADO .NET, используемые всеми провайдерами. Пространство имен содержит базовые классы и интерфейсы, представляющие автономный (отключенный) уровень (режим) взаимодействия с базой данных;
- System.Data.Common – содержит типы для совместного использования всеми поставщиками ADO.NET. Сюда также входят общие абстрактные классы;
- System.Data.Sql – содержит типы (классы), определяющие объекты Microsoft SQL Server, которые установлены в текущей локальной сети;
- System.Data.SqlTypes – содержит типы, используемые Microsoft SQL Server, а также поддержку типов CLR;
- System.Data.EntityClient – содержит типы, обеспечивающие функциональность уровня клиента сущности. Эти типы отображают концепцию Entity Framework для поставщика данных ADO.NET.
⇑
Связанные темы
⇑