Модель объектов 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.5-13.7.
Таблица 13.5. Объектная модель 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 | Объект | Представляет собой содержимое файла |
Таблица 13.6. Объектная модель ADOX.
| Объект | Тип | Описание |
|---|---|---|
| Catalog | Объект | Главный объект этой модели. Ссылается на источник данных и обеспечивает доступ ко всем объектам источника – таблицам, представлениям, процедурам, группам, пользователям |
| Tables | Семейство | Семейство таблиц, содержащихся в источнике данных. Каждый объект Table этого семейства ссылается на одну таблицу |
| Indexes | Семейство | Содержит все индексы таблицы. Каждый объект Index семейства ссылается на один из индексов |
| Keys | Семейство | Содержит все ключи таблицы. Каждый объект Key семейства ссылается на один из ключей |
| Columns | Семейство | Содержит объекты Column, которые ссылаются на столбцы в одном из объектов Table, Index, Key |
| Groups | Семейство | Содержит все объекты Group каталога или пользователя. Каждый из объектов Group ссылается на бюджет группы в каталоге или пользователе |
| Users | Семейство | Содержит объекты User, которые представляют собой бюджеты пользователей, имеющих права доступа к защищенной базе данных |
| Procedures | Семейство | Содержит все хранимые процедуры в базе данных. Каждый объект Procedure семейства ссылается на одну из хранимых процедур |
| Views | Семейство | Содержит все представления (view) в базе данных |
