Jet Data Access Objects is a general
programming interface
An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how t ...
for
database
In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases sp ...
access on
Microsoft Windows
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
systems, primarily for
Jet and ACE databases.
History
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
A jet engine is a type of reaction engine discharging a fast-moving jet of heated gas (usually air) that generates thrust by jet propulsion. While this broad definition can include rocket, Pump-jet, water jet, and hybrid propulsion, the term ...
all together and directly access
ODBC
In computing, Open Database Connectivity (ODBC) is a standard application programming interface (API) for accessing database management systems (DBMS). The designers of ODBC aimed to make it independent of database systems and operating systems. An ...
data sources, including
Microsoft SQL Server
Microsoft SQL Server is a relational database management system developed by Microsoft. As a database server, it is a software product with the primary function of storing and retrieving data as requested by other software applications—which ma ...
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.
Design
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
The Access Database Engine (also Office Access Connectivity Engine or ACE and formerly Microsoft Jet Database Engine, ''Microsoft JET Engine'' or simply ''Jet'') is a database engine on which several Microsoft products have been built. The firs ...
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.
See also
*
Microsoft Data Access Components
Microsoft Data Access Components (MDAC; also known as Windows DAC) is a framework of interrelated Microsoft technologies that allows programmers a uniform and comprehensive way of developing applications that can access almost any data store. It ...
*
ActiveX Data Objects
In computing, Microsoft's ActiveX Data Objects (ADO) comprises a set of Component Object Model (COM) objects for accessing data sources. A part of MDAC (Microsoft Data Access Components), it provides a middleware layer between programming lan ...
(ADO)
*
Remote Data Objects
Remote Data Objects (abbreviated RDO) is an obsolete data access application programming interface primarily used in Microsoft Visual Basic applications on Windows 95 and later operating systems. This includes database connection, queries, stored ...
(RDO)
References
External links
DAO object model diagram with links to class reference pages
{{Microsoft APIs
Microsoft application programming interfaces