На этом шаге мы дадим краткий обхор существующих интерфейсов доступа к данным.
Количество доступных Windows-приложениям интерфейсов доступа к данным может показаться чрезмерным. Какую же из технологий - DAO, ODBC, RDO, UDA, OLE DB или ADO - выбрать для построения конкретного приложения?
Проделаем небольшой экскурс в историю. Раньше в Microsoft ключевыми технологиями доступа к данным считались Data Access Objects (DAO) для настольных систем и Remote Data Objects (RDO), основанная на Open Database Connectivity (ODBC), - для клиент-серверных баз данных. Но на смену им пришла единая модель Universal Data Access (UDA), поддерживающая данные любых типов.
Цель UDA - обеспечить высокопроизводительный доступ как нереляционным, так и к реляционным источникам данных, предоставив удобный, независимый от инструментальных средств и языка интерфейс программирования. UDA базируется на объектах АDO, которые предоставляют высокоуровневый интерфейс для работы с OLE DB - технологией Microsoft для доступа к базам данных на основе СОМ.
Хотя нет никаких ограничений в применении старых технологий для доступа к данным, при создании новых приложений лучше пользоваться UDA. Эта технология проста в обращении, характеризуется широким спектром возможностей и достаточной производительностью. Опытные разработчики программ на базе СОМ могут напрямую обращаться к интерфейсам OLE DB, получая выигрыш в скорости и эффективности. В Visual C++ 6.0 есть OLE DB Templates - набор шаблонных классов, облегчающих применение этой технологии путем предоставления большинства популярных интерфейсов OLE DB. Планируя перенос существующих DAO/ODBC-приложений на ADO, Вам обязательно надо оценить, покроют ли преимущества от использования этой технологии издержки на ее внедрение, ведь код, написанный для DAO или RDO, напрямую не переносим на ADO. Тем не менее в подавляющем большинстве случаев решения, основанные на других моделях, можно с равным успехом реализовать на основе ADO. Нужно стремиться к преобразованию всего кода в стандарты ADO, объектная модель которой существенно проще и гибче.
На следующем шаге мы более детально охарактеризуем DAO.