Объекты управления
данными 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) в базе данных
Иерархическая
структура модели объектов ADOX представлена на рис. 13.6.
Рис. 13.6.
Объектная модель ADOX
Таблица
13.7.
Описание объектов JRO
Объект
Тип
Описание
JetEngine
Объект
Обеспечивает
доступ к двум сервисам ядра базы данных Jet: сжатие базы данных и
выгрузка данных из кэша в файл базы данных MDB
Replica
Объект
Представляет
собой копию реплицированной базы данных
Filters
Семейство
Содержит
набор объектов Filter, каждый из которых представляет собой набор записей,
которые должны реплицироваться
Более подробное
описание объектов JRO и их использования приведено
в гл. 18.
В случае разработки
многоуровневого клиент-серверного приложения для доступа к данным используется
еще одна объектная модель — RDS (служба удаленного доступа к данным). Она включает
три объекта, краткое описание которых приведено в табл. 13.8.
Таблица
13.8.
Объектная модель RDS
Объект
Тип
Описание
RDS .DataSpace
Объект
Этот объект содержит
метод, позволяющий создать объект (так называемый бизнес-объект) промежуточного
сервера передачи данных. В качестве промежуточного сервера может выступать
процедура, указанная пользователем, встроенная процедура, используемая
по умолчанию, или библиотека динамической компоновки DLL, исполняемая
в локальной сети, в Интернете или сети интранет
RDSServer.
DataFactory
Объект
Представляет
собой встроенную программу — сервер данных, которая выполняет обработку
данных и возвращает результат обработки
RDS.DataControl
Объект
Этот
объект может использоваться для следующих целей: автоматическое выполнение
функций объектов RDS. DataSpace и RDSServer .DataFactory, выполнение обработки
данных или возвращение результата с помощью встроенных служб RDS, представление
результата обработки данных в виде совокупности значений для визуальных
элементов управления (в форме)