Модель объектов 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) в базе данных |