Поделиться через


Общие сведения о программировании OLE DB

Что такое технология OLE DB и в чем ее отличие от других технологий баз данных?OLE DB — это высокопроизводительная, основанная на COM технология баз данных, которая создана Майкрософт.Ниже представлены основные отличия технологии OLE DB от других технологий баз данных Майкрософт, а также способ предоставления универсального доступа к данным.

Универсальный доступ к данным

Универсальный доступ к данным предоставляет простой способ доступа к данным, не зависящий от способа их хранения.Обычно огромное количество данных предприятия хранится за пределами корпоративных баз данных.Данные находятся в файловых системах (например, FAT или NTFS), индексно-последовательных файлах, личных базах данных (например, Access), электронных таблицах (например, Excel), приложениях для планирования проектов (например, Project) и электронной почте (например, Outlook).

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

Альтернативным вариантом является создания решения для универсального доступа к данным.OLE DB и ADO предоставляют возможности универсального доступа к данным.Технология OLE DB является более производительной и рекомендуется для использования с приложениями Visual C++.

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

  • Распределенный запрос

    Возможность унифицированного доступа к данным нескольких источников данных (т.е. распределенных).Источники данных могут быть одного типа (например, отдельные базы данных Access) или различных типов (например, база данных SQL Server и база данных Access).Унифицированный доступ означает, что можно запустить один и тот же запрос на всех источниках данных.

  • Доступ к источникам данных, не являющихся СУБД

    Возможность сделать источники данных, не являющиеся СУБД, доступными для приложений базы данных.В качестве примеров источников данных, относящихся к СУБД, можно привести IMS, DB2, Oracle, SQL Server, Access и Paradox.Примерами источников данных, не относящихся к СУБД, являются данные в файловых системах, электронной почте, электронных таблицах и средствах управления проектами.

Рассмотрим следующую ситуацию: отделу продаж требуется найти все сообщения электронной почты, полученные в течение одной недели от заказчиков из определенной области.Для выполнения данного запроса может потребоваться поиск по файлу почтового ящика приложения электронной почты и поиск по таблице Access заказчиков по заданному имени заказчика.Access является приложением СУБД, а Outlook нет.

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

Преимущества модели COM

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

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

Обычно приложения OLE DB создаются как библиотеки DLL, но реализация COM преодолевает недостатки библиотек DLL (именование и проблемы совместимости версий) путем использования кода, разделенного на компоненты.В OLE DB вызов интерфейсов или доступ к другим компонентам осуществляется с помощью их глобальных уникальных идентификаторов (GUID).

И наконец, COM следит за компонентом с помощью подсчета ссылок.При вызове метода интерфейса счетчик ссылок увеличивается, а при возвращении метода счетчик ссылок уменьшается.Если счетчик равен нулю, компонент, к которому принадлежит метод, освобождается.

См. также

Основные понятия

Программирование объектов OLE DB

Шаблоны потребителей OLE DB (C++)

Шаблоны поставщика OLE DB (С++)

Другие ресурсы

Шаблоны OLE DB