Data Access Objects

Data Access Objects (DAO) — технология для доступа к данным компании Microsoft.

История править

DAO ведёт своё начало от компонента Visual Basic 2.0 под названием «VT Objects», предоставлявшего сильно ограниченный доступ к данным ODBC-источников.

DAO 1.0 появилась в ноябре 1992 года как API для работы с СУБД Jet. Технология Jet поддерживала доступ к файлам формата MDB (Microsoft Access), ODBC-источникам данных и к источникам данных ISAM. В связи с тем, что история и возможности DAO и Jet неразрывно связаны, их часто путают. Начиная с версии 3.1 появилась возможность использовать API DAO, не используя при этом ЯБД Jet (т. н. технология ODBC Direct), но, тем не менее, эта возможность использовалась разработчиками недостаточно широко, так как были более эффективные технологии доступа к таким данным (RDO, ADO). Фактически и по сей день (2005) DAO продолжает оставаться преимущественно «родным» API к СУБД Jet.

С 1996 года компания Microsoft стала ориентироваться на поддержку другой, более универсальной технологии доступа к данным — OLE DB\ADO. Тем не менее технологии Jet\DAO продолжали развиваться до 2001 года, когда Microsoft анонсировала прекращение поддержки этих технологий. Несмотря на это, технология продолжает пользоваться популярностью среди разработчиков, так как является одной из самых зрелых технологий файл-серверной БД.

DAO и системы клиент-сервер править

DAO часто приписывают плохую работу с клиент-серверными данными, однако это является не особенностью собственно DAO, а скорее свойством нижележащей СУБД Jet. Jet исторически было ориентировано на работу с т. н. файл-серверными источниками данных, что и определило его архитектуру. Фактически вся обработка данных велась на клиентской машине. Поддержка клиент-серверных источников данных, хотя и была реализована, не была достаточно эффективной.

Версии DAO править

Ниже перечислены основные версии DAO и продукты, в составе которых они поставлялись:

  • версия 1.0, Visual Basic 2.0, Visual Basic 3.0, Microsoft Access 1.1
  • версия 2.0, Microsoft Access 2.0
  • версия 2.5, Visual Basic 4.0 (16-bit only)
  • версия 3.0, Visual Basic 4.0, Microsoft Access 95, Microsoft Excel 95, Visual C++ 4.0
  • версия 3.5, Microsoft Access 97, Visual Basic 6.0
  • версия 3.6, Microsoft Access 2000, XP

Ссылки править