Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #52, МАРТ 2005 г.

Хроники DataBase Connectivity

Alexander S. Salieff

Спецвыпуск: Хакер, номер #052, стр. 052-020-2


DAO и RDO

Для БД Microsoft Access был разработан специализированный БД-процессор Microsoft JET. Он предоставлял пользовательским приложениям интерфейс, отличающийся от ODBC ярко выраженной объектно-компонентной моделью, что позволило выполнить полноценную интерфейсную привязку не только к низкоуровневым языкам вроде C/C++, но и к менее гибким наподобие Visual Basic. Технология получила имя DAO - Data Access Object. Из-за тенденции унификации интерфейс DAO был расширен на многие БД помимо MS Access. Однако однозначная заточенность под JET вынуждала транслировать JET-команды в ODBC-инструкции (при доступе к не-Access БД), что снижало производительность. Пришлось разработать первичный binding ODBC в DAO-интерфейс, получивший название RDO (Remote Data Objects). Теперь при доступе к БД через ODBC больше не требуется производить замедляющую JET-ODBC-трансляцию. DAO-доступ через RDO принято называть DAO-ODBCDirect.

OLE DB

Понятно, что технология Object Linking and Embedding (OLE), которую агитаторы Microsoft когда-то активно продвигали в массы, не могла не повлиять на интерфейсы DBC. OLE DB предлагает концепцию, несколько отличающуюся от описанных выше методов. Здесь содержимое БД представлено в виде данных документа и публичного интерфейса приложения, способного обработать этот документ (собственно, это и есть стандартная для OLE модель). С одной стороны, это мало похоже на привычные модели с запросами данных и возвратами результатов, а с другой - позволяет осуществлять привязки OLE DB к не-SQL (и даже к не-реляционным) базам данных. СУБД должна предоставить свой публичный OLE-интерфейс для работы с данными, и тогда можно будет использовать через OLE-DB. Есть и другой (весьма популярный для SQL РБД) метод - OLE DB-надстройка над механизмами ODBC.

ADO

Серверы интерфейсной автоматизации тоже оставили свой след на многострадальном теле DBC. В эпоху расцвета CORBA, DCOP и прочего Microsoft продвигала свое видение операционно-объектного интерфейса по имени COM (Common Object Methods). Детище концепций COM/DCOM получило имя ADO - ActiveX Data Objects. ADO не оснащено средствами для работы с различными БД напрямую. Вместо этого используются объектные платформы DAO/RDO и OLE DB, обретающие COM-привязки в лице ADO-интерфейса.

Назад на стр. 052-020-1  Содержание  Вперед на стр. 052-020-3