Шаг 2 - OLEDB компоненты

Общую модель OLEDB компонентов можно представить так:

2_1.gif (1535 b)

Enumerators - это COM объект, который позволяет находить доступные данные в источниках или использовать другие перечисления. Можно сказать, что это коллекция источников данных.

2_2.gif (2762 b)

Data Source Objects - эти объекты содержат код необходимый для соединения с источником данных. Для доступа к OLE DB provider потребитель использует data source object. Источник данных возвращает IDBInitialize потребителю. Если инициализация прошла успешно, то потребитель может использовать IDBProperties для запросов к провайдеру. Запросы могут включать возможность транзакций, свойства таблиц и так далее.

Sessions - с помощью источника данных Вы можете создавать одну или более сессий. Главная функция сессии организовывать контекст транзакций. Сессия может работать в двух режимах:

  1. Ручное управление. Для начала транзакций Вы вызываете функцию StartTrancaction() класса CSession. Дальше вы можете подтверждать или отменять изменения (Commit или Abort).
  2. Автоматическое управление. Автоматическое подтверждение. Любая работа выполненная при данном режиме автоматически подтверждается.

Transactions - разрешает произвольное определение количества операций произведенных до подтверждения. Основная идея транзакции - обеспечить возможностью параллельной работы потребителей.

Commands - позволяют выполнять команды SQL и формировать таблицы данных построенных на результатах запроса.

Rowset - объект rowset позволяет OLE DB поставщиков данных выставить данные в табличной форме. Rowset - набор рядов, в которых каждый ряд имеет колонки данных. Rowset может быть создан одним из двух способов:

  1. В результате запроса.
  2. Вызовом IOPENROWSET::OpenRowse.

Errors - каждый OLE DB метод обеспечивает код возвращения, который указывает успех или неудачу вызова метода. Имеются два типа кодов возвращения:

  1. Успех или предупреждение. Успех или предупреждение кодов начинается с S_ или DB_S_ и указывает, что метод успешно закончил действие.
  2. Ошибка. Коды ошибок начинаются с E_ или DB_E_ и указывают, что метод потерпел неудачу полностью и был неспособен делать любую полезную работу.

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 10.06.2001