Reference articles on history, science, culture and more
Encyclopedia

Jet Data Access Objects

Windows database API designed for Microsoft Jet and ACE

Jet Data Access Objects is a general programming interface for database access on Microsoft Windows systems, primarily for Jet and ACE databases.

01History

DAO were originally called "VT Objects.: DAO 1.0 came up in November 1992 as part of Access 1.0. In version 3.5 it was able to bypass the Jet engine all together and directly access ODBC data sources, including Microsoft SQL Server and other enterprise database systems. DAO 3.6 shipped with Jet 4.0. Access 2007 and later uses ACE with its ACEDAO, where most new features supported by ACE are added to. ACEDAO no longer supports ODBCDirect.

02Design

DAO works by creating a "workspace" object in which all database operations are performed. The workspace object exists as a session object that exists within a larger database engine object. There are two types of database engines: a Jet Database Engine object, and an ODBCDirect database engine.

Jet

The Jet database engine (in Access 2007 and later, ACE) object consists of several objects:

  • a workspace object containing
  • a groups-and-users object
  • a database object containing objects which consist of:
    • containers of objects
    • query definition (QueryDef) objects
    • Recordset objects which are defined by a set of field objects
    • relation objects which show the relationship between different fields in the database
    • table definition (TableDef) objects which consist of fields and indexes of selected fields.
    • a series of error objects

The first version of DAO used Snapshot/Dynaset/Table objects etc. In DAO 2.0 Recordset etc. objects were introduced. DAO 3.0/3.5 only supported the old objects using a special compatibility TLB, which was removed completely in DAO 3.6.

ODBCDirect

The ODBCDirect database engine consists of a workspace object and an errors object. The main differences between this database engine and the Jet database engine are:

  • the workspace object contains only a series of ODBC connection objects
  • the database object consists of a series of recordset objects

The ODBC connection objects consist of QueryDef objects and recordset objects.

Watch videos about Jet Data Access ObjectsExplainers and documentaries on YouTube (opens in a new tab)

Sources and credits

This article is adapted from the Wikipedia article Jet Data Access Objects, written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.

Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.