Поставщики OLE DB (ADO)
OLE DB определяет набор com-интерфейсов для предоставления приложениям единообразного доступа к данным, хранящимся в различных источниках информации. Такой подход позволяет источнику данных предоставлять общий доступ к данным через интерфейсы, поддерживающие объем функциональных возможностей СУБД, соответствующих источнику данных. Благодаря проектированию высокопроизводительная архитектура OLE DB основана на использовании гибкой модели служб на основе компонентов. Вместо того чтобы иметь определенное количество промежуточных слоев между приложением и данными, OLE DB требует только столько компонентов, сколько необходимо для выполнения конкретной задачи.
Например, предположим, что пользователь хочет выполнить запрос. Рассмотрим следующие сценарии:
Данные находятся в реляционной базе данных, для которой в настоящее время существует драйвер ODBC, но нет собственного поставщика OLE DB: приложение использует ADO для связи с поставщиком OLE DB для ODBC, который затем загружает соответствующий драйвер ODBC. Драйвер передает инструкцию SQL в СУБД, которая извлекает данные.
Данные находятся в Microsoft SQL Server, для которого существует собственный поставщик OLE DB: приложение использует ADO для прямого взаимодействия с поставщиком OLE DB для Microsoft SQL Server. Посредники не требуются.
Данные находятся в Microsoft Exchange Server, для которого существует поставщик OLE DB, но который не предоставляет обработчик для обработки запросов SQL: приложение использует ADO для связи с поставщиком OLE DB для Microsoft Exchange и вызывает компонент обработчика запросов OLE DB для обработки запросов.
Данные находятся в файловой системе Microsoft NTFS в виде документов: доступ к данным осуществляется с помощью собственного поставщика OLE DB по службе индексирования Майкрософт, который индексирует содержимое и свойства документов в файловой системе, чтобы обеспечить эффективный поиск содержимого.
Во всех предыдущих примерах приложение может запрашивать данные. Потребности пользователя соответствуют минимальному количеству компонентов. В каждом случае дополнительные компоненты используются только при необходимости, и вызываются только необходимые компоненты. Эта загрузка повторно используемых и совместно используемых компонентов значительно способствует высокой производительности при использовании OLE DB.
Поставщики делятся на две категории: предоставление данных и тех, кто предоставляет службы. Поставщик данных владеет собственными данными и предоставляет его в табличной форме приложению. Поставщик услуг инкапсулирует службу, создавая и потребляя данные, расширяя функции в приложениях ADO. Поставщик услуг также может быть определен как компонент службы, который должен работать вместе с другими поставщиками услуг или компонентами.
ADO предоставляет согласованный и более высокий уровень интерфейса различным поставщикам OLE DB.
Этот раздел содержит следующие разделы.