Datasheet

Figure 1-2
The main problem with DAO is that it can only talk to the JET engine. The JET engine then communicates
with ODBC to retrieve the data. Going through this extra translation layer adds unnecessary overhead
and makes accessing data through DAO slow.
RDO
Remote Data Objects (RDO) was Microsoft’s solution to the slow performance created by DAO. For talk-
ing to databases other than Microsoft Access, RDO did not use the JET engine like DAO; instead, it com-
municated directly with the ODBC layer. Figure 1-3 shows this relationship.
Removing the JET engine from the call stack greatly improved performance to ODBC data sources. The JET
engine was only used when accessing a Microsoft Access Database. In addition, RDO had the capability to
use client-side cursors to navigate the records, as opposed to the server-side cursor requirements of DAO.
This greatly reduced the load on the database server, enabling not only the application to perform better,
but also the databases on which that application was dependant.
RDO was primarily targeted toward larger, commercial customers, many of whom avoided DAO due to
the performance issues. Instead of RDO replacing DAO, they largely co-existed. This resulted for several
reasons: First, users who developed smaller applications, where performance wasn’t as critical, didn’t
want to take the time to switch over to the new API. Second, RDO was originally only released with the
Enterprise Edition of Visual Basic, so some developers didn’t have a choice. Third, with the release of
Data Store
Application
DAO
JET Engine
ODBC
MS Access
DB
7
History of Data Access
03_584375 ch01.qxd 10/28/05 10:49 PM Page 7