Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

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

Читайте также:
  1. I.2.3. Обработка исходных данных в режиме таблицы
  2. II. Правила идентификации объектов технического регулирования
  3. PROFIBUS Слой Связи Данных (слой 2)
  4. SIMD – одиночный поток команд и множественный поток данных.
  5. Trading Techniques Inc. предоставляет месячные, недельные, дневные и почасовые (60 минут) данные по всем фьючерсам с помощью сервиса загрузки данных.
  6. VIII. Особенности осуществления государственного учета отдельных видов объектов учета
  7. А как насчет того, чтобы формировать свое поведение?
  8. А) Асоциальное поведение
  9. А) Поведение
  10. Агрессивное поведение собак

Поставщики данных ADO.NET. ADO.NET не предлагает единого набора типов для связи со всеми СУБД. Вместо этого в ADO.NET имеются различ поставщики данных (провайдеры данных), каждый из к-ых оптимизирован для взаимод-вия с конкретн СУБД. Первая выгода этого подхода состоит в том, что можно запрограммировать особый поставщик данных для доступа к любым уникальн особенностям конкретн СУБД. Еще одна выгода — конкретн поставщик данных может напрямую подключиться к механизму соотв СУБД, не пользуясь междууровневым слоем отображения.По сути, поставщик данных — это мост м-ду приложением и источником данных.

Одной из ключевых идей, лежащих в основе модели поставщиков ADO.NET, явл расширяемость. Др словами, можно создавать собств поставщики для патентованных источников данных.

В рамках.NET Framework поставляется набор поставщиков данных, например, поставщик в стиле Oracle, Microsoft SQL Server и OLE DB/ODBC (рис.):

Рисунок – Уровни модели поставщиков данных

Поставщик SQL Server.NET Data Provider предоставляет оптимизированный доступ к БД Microsoft SQL Server (версии 7.0 и выше) и взаимодействует с ней напрямую по «родному» протоколу передачи данных SQL Server. Он расположен в пространстве имен System.Data.SqlClient. Поставщик OLE DB предоставляет доступ к любому источнику данных, который имеет драйвер OLE DB. Это включает базы данных SQL Server версий, предшествующих 7.0. Он расположен в пространстве имен System.Data.OleDb. Поставщик Oracle предоставляет оптимизированный доступ к базам данных Oracle (версии 8 и выше).

Примеч. Если ваше приложение работает с СУБД Microsoft Access, то следует подключить следующие директивы использования пространства имен:

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

Если ваше приложение работает с СУБД Microsoft SQL Server, то следует подключить следующие директивы использования пространства имен:

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

Любой поставщик данных определяет набор типов, обеспеч-щих базовые функцион возможности. Базовые объекты поставщика данных ADO.NET, их базовые классы определены в пространстве имен System.Data.Common:

* Тип объекта→[Базовый класс ]→(Реализованные интерфейсы)→ Назначение *

Connection → [ SqlConnection; DbConnection; OracleConnection] → (IDbConnection) → Объект соединения. Позволяет подключаться к хранилищу данных и отключаться от него. Кроме того, объекты подключения обеспечивают доступ к соответствующим объектам транзакций

Command → [DbCommand; SqlCommand] → (IDbCommand) → Объект команды. Представляет SQL-запрос или хранимую процедуру. Кроме того, объекты команд предоставляют доступ к объекту чтения данных конкретн поставщика данных.

DataReader → [DbDataReader] → (IDataReader; IDataRecorder) → Объект чтения данных. Предоставляет однонаправленный доступ к данным только для чтения на стороне сервера.

DataAdapter → [DbDataAdapter; SqlDataAdapter; OracleDataAdapter] → (IDataAdapter; IDbDataAdapter) → Объект адаптера данных. Пересылает наборы данных из хранилища данных к вызывающему процессу и обратно. Адаптеры данных содержат подключение и набор из 4х внутрен объектов команд для выборки, вставки, изменения и удаления информации в хранилище данных.

Parameter → [DbParameter, SqlParametrs] → (IDataParameter; IDbDataParameter) → Объект параметра. Представл именованный параметр в параметриз. запросе

Transaction → [DbTransaction; SqlTransaction] → (IDbTransaction) → Объект транзакции. Выполняет транзакцию базы данных.

Хотя имена соотв-щих типов для разных поставщиков данных оказываются разными (напр, DbDataAdapter, SqlDataAdapter, OracleDataAdapter), каждый из таких объектов получается из одного и того же базового класса, что предполагает идентичность работы с ними.

Поведение объектов подключения. Необходимость подключения к источнику данных очень важна для любой архитектуры доступа к данным. ADO.NET позволяет организовать подключение к источнику данных с пом подходящ объекта подключения, к-ый входит в состав соотв-щего поставщика данных.

Чтобы открыть подключ, следует указать, какая инф-я необходима – напр, имя сервера, логин, пароль и т.д. Поскольку каждому целевому источнику подключения может понадобиться особый набор инф-и, позволяющий ADO.NET подключиться к источнику данных, выбран гибкий механизм указания всех параметров через строку подключения. Строка подключения содержит эл-ты с миним инф-ей, необход для установления подключ, в виде последовательности пар ключей-значений. Различные пары ключей-значений в строке подключ могут определять некотор конфигурируемые параметры, опред-щие поведение подключ. Сам объект подключ источника данных наследуется от класса SqlConnection и получает готовую логику, реализованную в базовых классах.

Приложение должно разделять дорогостоящий ресурс – открытое подключение, и совместно использовать его с др пользователем. Именно для этих целей введен пул подключений. По умолч пул подключений включен. При запросе ADO.NET неявно проверяет, имеется ли доступн неиспольз физич подключение к БД. Если такое подключение имеется, то она использует его. Для принятия решения имеется ли такое физич подключение или нет, ADO. NET учитывает загрузку приложения, и если поступает слишком много одновремен-ых запросов, ADO. NET может удерживать одновременно открытыми неск-ко физич подключений, т.е. увеличивать при необход-сти кол-во подключений. Подробнее:

Под классом SqlConnection имеется брокер, управляющий пулом открытых подключений. Он отвечает за увеличение или уменьшение реального кол-ва открытых подключ. Для класса брокера каждое запрошенное подключ уникально идентифицируется соотв строкой подключения. Поэтому, когда любое приложен запрашивает открытое подключ к одной и той же БД, оно в начале просматрив-т внутр кеш пула подключений, и если в нем есть доступное подключение, то используется оно. При отсутствии допустимого подключения создается новое, к-ое и передается приложению.




Дата добавления: 2015-09-10; просмотров: 31 | Поможем написать вашу работу | Нарушение авторских прав

Классы библиотеки .NET для работы с потоками | Класс FileStream и файловый ввод-вывод на побайтовой основе. Открытие и закрытие файла. Запись данных в файл. Считывание байтов из объекта класса FileStream. | Файловый ввод-вывод с ориентацией на символы. Использование класса StreamWriter. Использование класса StreamReader. | Считывание и запись двоичных данных. Класс BinaryWriter. Класс BinaryReader. | Public enum FileAttributes | Основы организации потоков. Потоки и многозадачность. Пространство имен System.Threading. Класс Thread. Создание потока. | Проблемы одновременности и синхронизации потоков. Общий доступ к данным из разных потоков, предотвращение коллизий. | Краткий обзор объектов ADO .NET. | События | Свойства |


lektsii.net - Лекции.Нет - 2014-2024 год. (0.011 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав