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