What Are DAO and ODBC?

HomeOverviewHow Do IFAQ   |  ODBC Driver List

Both Data Access Objects (DAO) and Open Database Connectivity (ODBC) are application programming interfaces (APIs) that give you the ability to write applications that are independent of any particular database management system (DBMS).

DAO is familiar to database programmers using Microsoft Access Basic or Microsoft Visual Basic. DAO uses the Microsoft Jet database engine to provide a set of data access objects: database objects, tabledef and querydef objects, recordset objects, and others. DAO works best with .MDB files like those created by Microsoft Access, but you can also access ODBC data sources through DAO and the Microsoft Jet database engine.

ODBC provides an API that different database vendors implement via ODBC drivers specific to a particular database management system (DBMS). Your program uses this API to call the ODBC Driver Manager, which passes the calls to the appropriate driver. The driver, in turn, interacts with the DBMS using Structured Query Language (SQL).

Note   As a major part of the Microsoft Windows Open Standards Architecture (WOSA), ODBC is here for the long run. DAO is optimized around the Microsoft Jet database engine, but you can still access ODBC and other external data sources via that engine, and the distinct ODBC API and the MFC classes based on it are still available and still have their role to play in your selection of database tools.