Для БД 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-интерфейса.
ADO+ AKA ADO.NET
Конечно же, не обошлось без пришествия .NET в стан DBC. На самом деле (по крайней мере, если верить заявлениям Microsoft) ADO.NET и ADO имеют лишь одинаковые названия и их программные интерфейсы слегка похожи. ADO.NET базируется на полностью переработанном движке, имеющем существенные отличия в плане возможностей. Во-первых, это, ясное дело, интеграция с .NET Framework. Во-вторых - тесная интеграция с XML. Этим, похоже, сейчас болеют все и впихивают этот самый злосчастный XML куда надо и не надо. И третьей отличительной чертой ADO.NET от ADO является поддержка модели доступа к несвязанным данным. На практике это означает, что приложение может отсоединяться и присоединяться к БД практически в произвольном порядке, что больше похоже на транзакции в WWW-сессии, чем на старый стиль запроса и получения данных в рамках одного неделимого соединения.