Спецификация OLE DB различает следующие типы объектов, которые будут рассмотрены ниже.

О Перечислитель (Enumerator) выполняет поиск источников данных или других перечислителей. Используется для обеспечения функционирования провайдеров ADO.

□ Объект-источник данных (Data Source Object) представляет хранилище данных.

П Сессия (Session) объединяет совокупность объектов, обращающихся к одному хранилищу данных.

□ Транзакция (Trasaction) инкапсулирует механизм выполнения транзакции.

□ Команда (Command) содержит текст команды и обеспечивает ее выполнение. Командой может быть запрос SQL, обращение к таблице БД и т. д.

П Набор рядов (Rowset) представляет собой совокупность строк данных, являющихся результатом выполнения команды ADO.

П Объект-ошибка (Error) содержит информацию об исключительной ситуации.

Рассмотрим функциональные возможности основных объектов и интерфейсов OLE DB.

Перечислители

Объекты-перечислители обеспечивают поиск любых объектов ADO, которые имеют доступ к источникам данных. При этом другие перечислители также видны в данном перечислителе.

Первичный поиск источников данных осуществляется в провайдере ADO. Перечислители могут отбирать только источники данных конкретных типов, поэтому провайдер обеспечивает доступ к конкретному типу хранилища данных.

В составе ADO имеется системный корневой перечислитель, который выполняет начальный поиск других перечислителей и источников данных. Его можно использовать, зная его идентификатор класса clsid_oledb_enlmerator.

(_Примечание_}

В Delphi GUID глобального перечислителя содержится в файле \DelphiASource \Vcl\OleDB.pas.

CLSID_OLEDB_ENUMERATOR: TGUID = '{C8B522D0-5CF3-11CE-ADE5-00AA0044773D}';

Функции перечислителя содержатся в интерфейсе iSourcesRowset. Метод

function GetSourcesRowset (const punkDuter: IUnknown;
const riid: TGDID;
cPropertySets: UINT;
rgEroparties: PDBEropSetArray;
out ppSourcesRowset: IXJnknown) : HResult;
stdcall;

возвращает ссылку на объект набора рядов (см. выше), содержащий сведения о найденных источниках данных или перечислителях.

Объекты соединения систочниками данных

Внутренний механизм ADO, обеспечивающий соединение с хранилищем данных, использует два типа объектов. Это объекты-источники данных и объекты-сессии.

Объект-источник данных обеспечивает представление информации о требуемом реальном источнике данных и подключение к нему.

Для ввода сведений о хранилище данных используется интерфейс iDBProperties. Для успешного подключения необходимо задать обязательные сведения. Вероятно, для любого хранилища данных будет актуальной информация об его имени, пользователе и пароле. Однако каждый тип хранилища имеет собственные уникальные настройки. Для получения списка всех обязательных параметров соединения с данным хранилищем можно воспользоваться методом

function GtetPropertyTnfо(cPropertylDSets: UINT; rgPropertylDSets: PDBPrcpIDSetArray; var pcPropertylnfoSets: ЦЖГ; out prgPropertylnfoSets:

PDBPropPnfoSet;
ppDescBuffer: PPOleStr): HResult;
stdcall;

который возвращает заполненную структуру DBPROPINFO.


⇐ Предыдущая страница| |Следующая страница ⇒

Программирование в Delphi 7



Новости за месяц

  • Август
    2017
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс