Модель объектов ActiveX для управления данными


Объекты управления данными ActiveX (ADO/ ActiveX Data Objects) предназначены для обеспечения доступа к источникам данных разных видов, от текстовых файлов до распределенных баз данных. ADO представляет собой объектно-ориентированный интерфейс для приложений, использующих OLE DB. OLE DB — это программный интерфейс, удовлетворяющий спецификации COM (Component Object Model, компонентная модель объектов), который предоставляет унифицированный способ доступа к различным источникам данных. Интерфейс OLE DB разрабатывался с целью получения оптимальной функциональности для приложений разных видов и поэтому не является простым в использовании. ADO — промежуточное звено между приложением и OLE DB, предоставляющее разработчикам приложений удобный объектно-ориентированный интерфейс.
Существует три объектных модели, которые вместе обеспечивают те функции работы с данными, которые реализуются объектами DАО:

  • Microsoft ActiveX Data Objects 2.6 (ADODB);
  • Microsoft ActiveX Data Objects Extensions for DDL and Security 2.6 (ADOX);
  • Microsoft Jet and Replication Objects 2.6 (JRO).

Стандартный набор функций для работы с данными распределяется между этими тремя моделями следующим образом:

  • Управление данными. Объектная модель ADODB обеспечивает вашему приложению доступ к источнику данных и возможность отбирать для просмотра и изменять эти данные. Однако она не предоставляет возможности изменять структуру таблиц и других объектов источника данных.
  • Определение данных и защита. Объектная модель ADOX позволяет программно изменять структуру объектов в источнике данных, в частности добавлять и удалять таблицы, изменять структуру таблиц, создавать и изменять запросы, представления и хранимые процедуры, а также управлять схемой защиты данных: создавать группы пользователей и отдельных пользователей, наделять их требуемыми правами доступа к объектам.
  • Репликация и службы ядра базы данных Jet. Объектная модель JRO позволяет создавать, модифицировать и синхронизировать реплики. Она была спроектирована специально для доступа к объектам Jet и, в отличие от моделей ADODB и ADOX, может работать только с базами данных Access.

Краткое описание объектов моделей ADO приведено в—13.7.
Объектная модель ADODB

Объект

Тип

Описание

Connection

Объект

Открывает сеанс обмена данными

Command

Объект

Представляет собой инструкцию SQL

Parameter

Объект

Представляет собой параметр инструкции SQL

Recordset

Объект

Представляет собой набор записей и позволяет осуществлять навигацию по записям и манипулировать с данными в нем

Field

Объект

Представляет собой поле (столбец) в наборе записей
Recordset

Error

Объект

Представляет собой информацию об ошибке, произошедшей во время сеанса связи

Property

Объект

Представляет характеристику (свойство) любого объекта ADO

Errors

Семейство

Все объекты Error в этом семействе создаются в ответ на одну ошибку, произошедшую во время сеанса связи

Parameters

Семейство

Содержит все объекты Parameter, ассоциированные с объектом Command

Fields

Семейство

Содержит все объекты Field, ассоциированные с набором записей Recordset

Properties

Семейство

Содержит все объекты Property, ассоциированные с объектом Connection, Command, Recordset или Field

Record

Объект

Представляет собой каталог или файл

Stream

Объект

Представляет собой содержимое файла

Объектная модель ADOX

Объект

Тип

Описание

Catalog

Объект

Главный объект этой модели. Ссылается на источник данных и обеспечивает доступ ко всем объектам источника — таблицам, представлениям, процедурам, группам, пользователям

Tables

Семейство

Семейство таблиц, содержащихся в источнике данных. Каждый объект Table этого семейства ссылается на одну таблицу

Indexes

Семейство

Содержит все индексы таблицы. Каждый объект Index семейства ссылается на один из индексов

Keys

Семейство

Содержит все ключи таблицы. Каждый объект Key семейства ссылается на один из ключей

Columns

Семейство

Содержит объекты Column, которые ссылаются на столбцы в одном из объектов Table, Index, Key

Groups

Семейство

Содержит все объекты Group каталога или пользователя. Каждый из объектов Group ссылается на бюджет группы в каталоге или пользователе

Users

Семейство

Содержит объекты User, которые представляют собой бюджеты пользователей, имеющих права доступа к защищенной базе данных

Procedures

Семейство

Содержит все хранимые процедуры в базе данных. Каждый объект Procedure семейства ссылается на одну из хранимых процедур

Views

Семейство

Содержит все представления (view) в базе данных

Иерархическая структура модели объектов ADOX представлена.
Описание объектов JRO

Объект

Тип

Описание

JetEngine

Объект

Обеспечивает доступ к двум сервисам ядра базы данных Jet: сжатие базы данных и выгрузка данных из кэша в файл базы данных MDB

Replica

Объект

Представляет собой копию реплицированной базы данных

Filters

Семейство

Содержит набор объектов Filter, каждый из которых представляет собой набор записей, которые должны реплицироваться

В случае разработки многоуровневого клиент-серверного приложения для доступа к данным используется еще одна объектная модель — RDS (служба удаленного доступа к данным). Она включает три объекта, краткое описание которых приведено в.
Объектная модель RDS

Объект

Тип

Описание

RDS .DataSpace

Объект

Этот объект содержит метод, позволяющий создать объект (так называемый бизнес-объект) промежуточного сервера передачи данных. В качестве промежуточного сервера может выступать процедура, указанная пользователем, встроенная процедура, используемая по умолчанию, или библиотека динамической компоновки DLL, исполняемая в локальной сети, в Интернете или сети интранет

RDSServer. DataFactory

Объект

Представляет собой встроенную программу — сервер данных, которая выполняет обработку данных и возвращает результат обработки

RDS.DataControl

Объект

Этот объект может использоваться для следующих целей: автоматическое выполнение функций объектов RDS. DataSpace и RDSServer .DataFactory, выполнение обработки данных или возвращение результата с помощью встроенных служб RDS, представление результата обработки данных в виде совокупности значений для визуальных элементов управления (в форме)