Чтение онлайн

на главную - закладки

Жанры

ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание

Троелсен Эндрю

Шрифт:

Упрощенно говоря, поставщик данных – это набор типов, определенных в дан-ном пространстве имен и "понимающих", как общаться с конкретным источником данных. Любой используемый нами поставщик данных определяет набор типов, обеспечивающих базовые функциональные возможности. В табл. 22.1 описаны некоторые базовые объекты, их базовые классы (все они определяются в пространстве имен System.Data.Common) и реализованные в них интерфейсы (они определяются в System.Data).

Таблица 22.1. Базовые объекты поставщика данных ADO.NET

Объект Базовый Класс Реализованные интерфейсы Описание
Connection DbConnection IDbConnection Обеспечивает
возможность соединения с хранилищем данных и отключения от него, а также доступ к соответствующему объекту транзакции
Command DbCommand IDbCommand Объект команды. Представляет SQL-запрос или имя хранимой процедуры, а также обеспечивает доступ к о6ъекту чтения данных соответствующего поставщика данных
DataReader DbDataReader IDataReader, IDataRecord Объект чтения данных. Обеспечивает однонаправленный доступ к данным в режиме "только для чтения"
DataAdapter DbDataAdapter IDataAdapter, IDbDataAdapter Объект адаптера данных. Обеспечивает обмен объектами DataSet между вызывающей стороной и местом хранения данных. Содержит набор из четырех внутренних объектов команд, используемых для выборки, вставки, обновления и удаления информации из хранилища данных
Parameter DbParameter IDataParameter, IDbDataParameter Объект параметра. Представляет именованный параметр параметризованного запроса
Transaction DbTransaction IDbTransaction Объект транзакции. Выполняет транзакцию базы данных

Хотя имена соответствующих типов для разных поставщиков данных оказываются разными (например, SqlConnection, OracleConnection, OdbcConnection и MySqlConnection), каждый из таких объектов получается из одного и того же базового класса, что предполагает идентичность реализуемых объектами интерфейсов. С учетом этого мы вправе предполагать, что, освоив приемы работы с одним поставщиком данных, освоить остальные поставщики будет совсем просто.

Замечание. В соответствии с соглашением о присваивании имен объекты поставщика данных должны иметь префикс, указывающий имя соответствующей СУБД.

На рис. 22.1 показана общая структура поставщика данных ADO.NET. Заметьте, что в представленной диаграмме элемент Компоновочный блок клиента может обозначать практически любое приложение .NET – консольную программу, приложение Windows Forms, Web-страницу ASP.NET, Web-сервис XML, библиотеку программного кода .NET и т.д.

Конечно, в дополнение к объектам, показанным на рис. 22.1, поставщик данных предлагает и другие типы объектов. Однако указанные на рисунке базовые объекты присущи всем поставщикам данных.

Поставщики данных Microsoft

В дистрибутив Microsoft .NET 2.0 включен ряд поставщиков данных, в частности для Oracle, SQL Server и ODBC. В табл. 22.2 для поставщиков данных Microsoft ADO.NET указаны пространства имен и содержащие их компоновочные блоки.

Замечание. Специального поставщика данных, обращающегося непосредственно к механизму Jet (т.е. к Microsoft Access), нет. Для взаимодействия с файлами данных Access можно использовать поставщик данных OLE DB или ODBC.

Рис 22.1. Поставщики данных ADO.NET обеспечивают

доступ к данным СУБД.

Таблица 22.2. Поставщики данных ADO.NET от Microsoft

Поставщик данных Пространство имен Компоновочный блок
OLE DB System.Data.OleDb System.Data.dll
Microsoft SQL Server System.Data.SqlClient System.Data.dll
Microsoft SQL Server Mobile System.Data.SqlServerCe System.Data.SqlServerCe.dll
ODBC System.Data.Odbc System.Data.dll
Oracle System.Data.OracleClient System.Data.OracleClient.dll

Поставщик данных OLE DB, который скомпонован из типов, определенных в пространстве имен System.Data.OleDb, позволяет получить доступ к данным любого 'хранилища данных, поддерживающего классический протокол OLE DB на основе COM. С помощью этого поставщика данных можно связаться с любой базой данных OLE DB, просто настроив сегмент Provider строки соединения. При этом, однако, следует учитывать то, что поставщик OLE DB в фоновом режиме взаимодействует с различными объектами COM, а это может влиять на производительность приложения. В общем, поставщик данных OLE DB оказывается полезным только в том случае, когда приходится взаимодействовать с СУБД, не определяющей конкретного поставщика данных .NET.

Поставщик данных Microsoft SQL Server предлагает прямой доступ к хранилищам данных Microsoft SQL Server (версий 7.0 и выше) и только к хранилищам данных SQL Server. Пространство имен System.Data.SqlClient содержит типы, используемые поставщиком данных SQL Server и предлагающие, в основном, те же функциональные возможности, что и поставщик данных OLE DB. Ключевым различием является то. что поставщик данных SQL Server действует в обход уровня OLE DB, а это обеспечивает ряд преимуществ с точки зрения производительности системы. Кроме того, поставщик данных Microsoft SQL Server позволяет получить доступ к некоторым уникальным возможностям данной конкретной СУБД.

Замечание. Если вас интересуют особенности использования пространств имен System.Data.SqlServerCe, System.Data.Odbc или System.Data.Oracle, за подробностями обратитесь к документации .NET Framework 2.0 SDK.

Поставщики данных других производителей

Вдобавок к поставщикам данных, предлагаемым компанией Microsoft, существуют поставщики данных других производителей, предназначенные для самых разных, как свободно доступных, так и коммерческих баз данных. В табл. 22.3 указано, где найти некоторые управляемые поставщики данных, не предлагаемые в комплекте инсталляции Microsoft .NET 2.0 (помните о том, что указанные здесь адреса URL могут измениться).

Таблица 22.3. Поставщики данных ADO.NET разных производителей

Поставщик данных Адрес web-страницы
Firebird Interbase http://www.mono-project.com/Firebird_Interbase
IBM DB2 http://www-306.ibm.com/software/data/db2
MySQL http://dev.mysql.com/downloads/connector/net/1.0.html
PostgreSQL http://www.mono-project.com/PostgreSQL
Sybase http://www.mono-project.com/Sybase
Поделиться:
Популярные книги

Жалкая

Макинтайер Эмили
3. Долго и Несчастливо
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Жалкая

Беглец

Бубела Олег Николаевич
1. Совсем не герой
Фантастика:
фэнтези
попаданцы
8.94
рейтинг книги
Беглец

Академия проклятий. Книги 1 - 7

Звездная Елена
Академия Проклятий
Фантастика:
фэнтези
8.98
рейтинг книги
Академия проклятий. Книги 1 - 7

Измена. Верни мне мою жизнь

Томченко Анна
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Верни мне мою жизнь

Измена

Рей Полина
Любовные романы:
современные любовные романы
5.38
рейтинг книги
Измена

Гардемарин Ее Величества. Инкарнация

Уленгов Юрий
1. Гардемарин ее величества
Фантастика:
городское фэнтези
попаданцы
альтернативная история
аниме
фантастика: прочее
5.00
рейтинг книги
Гардемарин Ее Величества. Инкарнация

Сердце для стража

Каменистый Артем
5. Девятый
Фантастика:
фэнтези
боевая фантастика
9.20
рейтинг книги
Сердце для стража

Черный Маг Императора 11

Герда Александр
11. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Черный Маг Императора 11

Имя нам Легион. Том 3

Дорничев Дмитрий
3. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 3

Жена фаворита королевы. Посмешище двора

Семина Дия
Фантастика:
фэнтези
5.00
рейтинг книги
Жена фаворита королевы. Посмешище двора

Как я строил магическую империю 5

Зубов Константин
5. Как я строил магическую империю
Фантастика:
попаданцы
аниме
фантастика: прочее
фэнтези
5.00
рейтинг книги
Как я строил магическую империю 5

Блуждающие огни 2

Панченко Андрей Алексеевич
2. Блуждающие огни
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
альтернативная история
фэнтези
5.00
рейтинг книги
Блуждающие огни 2

Ратник

Ланцов Михаил Алексеевич
3. Помещик
Фантастика:
альтернативная история
7.11
рейтинг книги
Ратник

Маленькая слабость Дракона Андреевича

Рам Янка
1. Танцы на углях
Любовные романы:
современные любовные романы
эро литература
5.25
рейтинг книги
Маленькая слабость Дракона Андреевича