Data Access Objects(DAO)とは、Microsoft Windows でのデータベースアクセスのための汎用APIである。オブジェクト指向設計で使う。
DAOは当初 VT Objects と呼ばれていた。DAO 1.0 は1992年11月に登場した。バージョン3.5では、Jet Engine を完全にバイパスして直接ODBCデータソース(Microsoft SQL Server などのデータベース)にアクセスできるようになった。マイクロソフトは DAO 3.6 を最後のバージョンとしている。マイクロソフトは、DAO が将来の64ビットオペレーティングシステムで利用可能になることはないとしている[1]。
DAO は "Workspace" オブジェクトを生成し、そこで全てのデータベース操作を実行する。Workspace オブジェクトは、より大きなデータベースエンジンオブジェクト内にセッションオブジェクトとして存在する。この場合のデータベースエンジンは2種類あり、Jet データベースエンジンと ODBCDirect データベースエンジンである。
Jet データベースエンジンオブジェクトは、以下のようなオブジェクトから構成される。
ODBCDirect データベースエンジンには、Workspace オブジェクトと Error オブジェクトが含まれる。Jet との主な違いは次の通りである。
ODBC コネクションオブジェクトは、QueryDef オブジェクトと Recordset オブジェクトから構成される。