When to Go Somewhere in Between DAO and ODBC (RDO)

Using the ODBC API directly requires an up-front investment in designing and building a wrapper to use within your own applications. Microsoft found that building wrappers to use with ODBC API was such a common approach they decided to help by building their own wrapper to use with it and shipped it with Visual Basic 4 as RDO.

RDO is similar to DAO except that it uses only ODBC and has no access to the desktop installable ISAM drivers that are built into Jet. RDO has been designed to use some of the optimizations available within ODBC; consequently, performance is frequently better than with the combination of DAO and Jet. However, the increase in performance meant a compromise elsewhere in the functionality. For example, you can use the Index object and the Seek method to manage ISAM indexes and locate rows based on those indexes. However, because RDO and relational databases manage indexes in entirely different ways, these objects and methods aren’t supported in RDO.

Another difference is that Jet supports the creation and modification of the database schema through DAO methods and properties. RDO doesn’t support any type of schema modification. But you can still run make-table queries or execute action queries that create, modify, or delete databases and tables using native Structured Query Language (SQL) statements.