Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Использование DAO для доступа к данным



Объекты доступа к данным (DAO) создавались как объектно-ориентированный интерфейс для ядра баз данных Jet фирмы Microsoft. Ядро Jet обеспечивает возможность доступа к данным независимо от особенностей интерфейса конкретной системы управления базами данных. После того как Jet стал сервером Automation, стало возможным использовать DAO для доступа к данным из любого клиента Automation (Excel, Word и PowerPoint).

Версия DAO, включенная в Office, позволяет манипулировать данными в обход ядра Jet – связываться напрямую с источниками данных ODBC можно через ODBCDirect (рис. 39). Прямой доступ к источникам позволяет повысить производительность и сэкономить ресурсы.

DAO – это унифицированный набор объектов для доступа к данным. То есть с его помощью пользователь получает стандартный объектно-ориентированный интерфейс доступа к различным типам данных, начиная от баз данных Access, до баз данных ISAM (Indexed Sequential Access Method – индексно-последовательный метод доступа к данным, используемый в БД для персональных компьютеров) и SQL. Доступ к DAO из VBA осуществляется через OLE Automation, но использовать DAO можно лишь после установки в Visual Basic Editor ссылки на объектную библиотеку Microsoft DAO 3.5.

Рис. 39. Доступ к данным из MS Office и Visual Basic

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

Модель объектов DAO

Как видно из рис. 39, DAO включает две объектные модели. Тип используемой модели (рис. 40, 41) зависит от того, используется ли ODBCDirect.

Операции, выполняемые с помощью DAO, можно разделить на три категории:

запросы – операции импорта и экспорта данных, включающие выборку, добавление, редактирование и удаление записей;

операции изменения структуры БД – операции создания, изменения и удаления БД, спецификаций таблиц и запросов, полей, индексов и связей (на выполнение этих операций могут существовать ограничения в зависимовти от типа используемой внешней базы);

Рис. 40. Модель объектов доступа к данным для
рабочей области Microsoft Jet

Рис. 41. Модель объектов доступа к данным для
рабочей области ODBCDirect

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

Объекты, включенные в иерархическую объектную модель DAO, используются для реализации этих операций. В модель включены два типа объектов: постоянные и временные. Постоянные объекты могут быть сохранены в MDB-файле или в системном файле БД. Временные объекты не сохраняются в файлах, любые свойства временного объекта являются временными.

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

Независимо от того, какая модель используется, перед началом работы с DAO необходимо создать объект Workspace (рабочая область или сеанс работы с БД), в котором будут производиться все операции с БД.

Создание рабочей области и открытие
источника данных

При доступе к данным с помощью ядра Microsoft Jet используется рабочая область Microsoft Jet, для создания которой задается зарезервированная константа dbUseJet. В случае доступа к источнику данным ODBC используется рабочая область ODBCDirect, для создания которой используется зарезервированная константа dbUseODBC.

Метод CreateWorkspace определяет название рабочей области (первый параметр), второй и третий параметры задают имя и пароль, необходимые для доступа к данным, последний параметр определяет тип создаваемой рабочей области. В качестве результата возвращается ссылка на рабочую область.

Следующий программный код создает рабочую область Microsoft Jet:

Dim wsJet As Workspace
Set wsJet = DBEngine.CreateWorkspace
(“MyWorkspace”, _
“Admin”, “”, dbUseJet)

А приведенные ниже операторы создают рабочую область ODBCDirect:

Dim wsODBC As Workspace
Set
wsODBC= CreateWorkspace(“MyWorkspace”, _
“Admin”, “”, dbUseODBC)

(объект DBEngine используется по умолчанию).

После создания рабочей области можно открыть источник данных (т.е. соединиться с источником данных). Порядок открытия источника данных зависит от типа рабочей области.

Если создана рабочая область Microsoft Jet, то для соединения с источником используется метод OpenDatabase, в качестве параметра которого указывается полный путь к базе данных:

Dim dbObj As Database
Set
dbObj= _
wsJet.OpenDatabase
(“C: \MyDataBases\DAO.mdb”)

При использовании рабочей области ODBCDirect для открытия источника данных применяется метод OpenConnection, который имеет один обязательный аргумент – строку, задающую имя источника данных. В начале этой строки необходимо указать тип источника данных (ODBC), вся строка является значением свойства Name объекта Connection. Перед использованием ичточника необходимо убедиться в том, что в Диспетчере драйверов ODBC описан соответствующий источник данных (в случае необходимости нужно создать новый источник данных). В следующем примере устанавливается соединение с источником данных, имеющим имя «Publishers»:

Dim dsObj As Connection
Set dsObj
= wsODBC.OpenConnection ­_ (“ODBC; DSN=Publishers”)

Регистрация источника данных ODBC осуществляется с помощью Диспетчера драйверов ODBC, доступ к которому можно получить через Панель управления Windows. Источник данных ODBC можно зарегистрировать программным путем, используя ODBC API.

После соединения с источником данных можно производить операции по обработке данных.


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-07-12; Просмотров: 735; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.014 с.)
Главная | Случайная страница | Обратная связь