[Домашняя страничка][Резюме][Фотоальбом][Диплом][Научные статьи]
 

 

2.1.2. Интерфейс OLE DB

  

      Содержание 2-го вопроса

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

2.1.2.1. Доступ к разнообразным источникам

OLE DB позволяет разрабатывать приложения, работающие с различными источни­ками данных. OLE DB облегчает приложениям доступ к данным, хранящимся в разных СУБД и в ис­точниках информации, отличных от СУБД. В качестве источников для СУБД могут вы­ступать базы данных мэйнфреймов, такие как IMS ™ и DB2®, серверные базы данных, например Oracle® и Microsoft SQL Server, а также базы данных персональных компьюте­ров, такие как Microsoft Access, Paradox и Microsoft FoxPro®. К не-СУБД источникам относятся файловые системы, такие как Windows NT® и UNIX®, индексно-последователь­ные файлы, электронная почта, электронные таблицы, средства управления проектами и многое другое.

Концептуально OLE DB является многокомпонентной СУБД. Преимущества многокомпонентных СУБД можно рассматривать с двух точек зрения: потребителей и компонентов доступа к данным. Во-первых, потребности в том, что касается управления базой данных, у разных потребителей могут сильно различаться. Если некий потребитель решает использовать какую-либо модель СУБД, это подразумевает и выбор конкретного диспетчера хранилища, метода доступа к файлам, модели защиты, языка запросов и сценариев, процессора запросов и диспетчера транзакций. Зачастую потребители используют далеко не все функциональные возможности коммерческих монолитных СУБД. Тем не менее им приходится расплачиваться дополнительными на­кладными расходами ресурсов за ненужную им функциональность.

Во-вторых, большие объемы важных данных хранятся в системах, не подпадающих под определение СУБД. Популярные API доступа к данным, например ODBC (Open Database Connectivity), устанавливают для компонентов доступа к данным высокую начальную планку, требуя, чтобы они поддерживали доступ к данным с помощью SQL. Для этого нужно, чтобы компонент доступа к источнику информации, не поддерживающему SQL, реализовал некий эквивалент машины SOL в драйвере ODBC. OLE DB снижает начальную планку для простых компонентов доступа к табличным данным, требуя реа­лизации лишь тех функциональных возможностей, которые присущи их хранилищам данных. В минимальном варианте компоненту доступа необходимы интерфейсы, обеспе­чивающие доступ к данным как к таблицам. Это открывает возможности создания ком­понентов-процессоров запросов, например процессоров географических запросов или SQL, которые могут использовать табличную информацию любого компонента, обеспе­чивающего доступ к своим данным с помощью OLE DB.

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

OLE DB использует инфраструктуру модели OLE СОМ (Component Object Model), что сокращает ненужное дублирование сервисов и расширяет возможности взаимодействия не только для разных источников информации, но и для разных программных сред и инструментов. OLE DB — это способ доступа к данным в среде СОМ. Далее описана архитектура и основные группы интерфейсов OLE DB.

2.1.2.2. Потребители и компоненты доступа

Потребитель — это любой фрагмент системного или прикладного кода, использующий интерфейс OLE DB; сюда входят и сами компоненты OLE DB. 

Компонент доступа — это любой программный компонент, предоставляющий интерфейс OLE DB.

Компоненты доступа можно разбить на два больших класса.

Компонент доступа к данным — это любой компонент доступа OLE DВ, владеющий данными и предоставляющий их в табличной форме в виде набора рядов (это понятие определено ниже). Примерами компонентов доступа к данным могут служить реляционные СУБД, диспетчеры хранилищ, электронные таблицы, ISAM и электронная почта.

       

Компонент доступа к сервису — это любой компонент OLE DВ, у которого нет собственных данных, но который реализует некий сервис, производя и потребляя данные через интерфейсы OLE DB. Компонент доступа к сервису одновременно является и компонентом доступа, и потребителем. Например, процессор разнородных запросов — это компонент доступа к сервису. Предположим, что потребитель запрашивает соединение данных из двух разных источников данных. Как потребитель процессор запросов выбирает данные из наборов рядов, созданных для каждой из базовых таблиц. Как компонент доступа процессор запросов создает набор рядов из считанных им рядов и возвращает его потребителю.

2.1.2.3. Компоненты OLE DB

OLE DB определяет следующие компоненты, каждый из которых представляет собой объект OLE СОМ.

Перечислители (Enumerators) — осуществляют поиск доступных источников данных и других перечислителей. Потребители, не настроенные на конкретный источник данных, используют перечислители для поиска источника данных, с которым они будут работать.

Объекты-источники данных (Data Source Objects) — реализуют механизм подключе­ния к источнику данных, например, к файлу или СУБД. Служат фабриками для сессий.

Сессии (Sessions) — предоставляют контекст для транзакции, которые могут быть явными или неявными. У одного объекта-источника данных может быть много сессий. Сессии служат фабриками для транзакций, команд и наборов рядов.

Транзакции (Transactions) — Объекты-транзакции используются для подтверждения или отмены вложенных транзакций на любом уровне, кроме самого низкого.

Команды (Commands) — исполняют текстовые команды, например, оператор SQL. Если текстовая команда создает набор рядов, как в случае оператора SQL SELECT, то команда служит фабрикой для набора рядов. В одной сессии можно создать много команд.

Наборы рядов (Rowsets) — представляют данные в табличной форме. Специальным случаем набора рядов является индекс. Наборы рядов могут создаваться сессиями или командами.

Ошибки (Errors) — Ошибки могут создаваться любым интерфейсом любого объекта OLE DB. Они содержат дополнительную информацию об ошибке, включая необязательный специфический объект-ошибку.

 

 Предыдущая часть [Содержание] Следующая часть 

 

[Диплом индекс][Доклад][Реферат Рус][Реферат Укр][Abstract]
[Содержание][Введение][Выводы][Список литературы]

 

Copyright (c) 1998-2001, Alexandr S. Lukichov

 

             

Rambler's Top100

be number one

Каталог "eMIR" - рейтингующая поисковая система!


       

Украинская баннерная сеть