59
качестве источника любое хранилище, поддерживающее ADO, будь это
локальная СУБД или серверная, или даже электронные таблицы. Запрос SQL,
направленный любому источнику данных через ADO, будет выполнен [12].
OLE DB по сути представляет собой набор специализированных объектов
СОМ, инкапсулирующих стандартные функции обработки данных, и
специализированные функции конкретных источников данных и интерфейсов,
обеспечивающих передачу данных между объектами.
Согласно терминологии ADO, любой источник данных (база данных,
электронная таблица, файл) называется хранилищем данных, с которым при
помощи провайдера данных взаимодействует приложение. Минимальный набор
компонентов приложения может включать объект соединения, объект набора
данных, объект процессора запросов [9].
В результате приложение обращается не прямо к источнику данных, а к
объекту OLE DB, который "умеет" представить данные (например, из файла
электронной почты) в виде таблицы БД или результата выполнения запроса SQL.
Технология ADO в целом включает в себя не только сами объекты OLE
DB, но и механизмы, обеспечивающие взаимодействие объектов с данными и
приложениями. На этом уровне важнейшую роль играют провайдеры ADO,
координирующие работу приложений с хранилищами данных различных типов.
Такая архитектура позволяет сделать набор объектов и интерфейсов
открытым и расширяемым. Набор объектов и соответствующий провайдер
может быть создан для любого хранилища данных без внесения изменений в
исходную структуру ADO. При этом существенно расширяется само понятие
данных – ведь можно разработать набор объектов и интерфейсов и для
нетрадиционных табличных данных. Например, это могут быть графические
данные геоинформационных систем, древовидные структуры из системных
реестров, данные CASE-инструментов и т. д.
Так как технология ADO основана на стандартных интерфейсах СОМ,
которые являются системным механизмом Windows, это сокращает общий объем