Nor can you currently create ODBC data sources from ADO, despite the fact that your interface might be through the ODBC OLE DB service provider. For example, ADO has no equivalents to the rdoEngine and rdoEnvironment objects, which exposed the ODBC driver manager and hEnv interfaces. ADO "flattens" the object model used by DAO and RDO, meaning that it contains fewer objects and more properties, methods (and arguments), and events. Functionally ADO 2.0 is most similar to RDO, and there's generally a similar mapping between the two models. RDO provides the objects, properties, and methods needed to access the more complex aspects of stored procedures and complex resultsets.ĪDO is the successor to DAO/RDO. However, RDO has proven to be the interface of choice for a large number of SQL Server, Oracle, and other large relational database developers. RDO is limited, though, in that it doesn't access Jet or ISAM databases very well, and that it can access relational databases only through existing ODBC drivers. RDO (Remote Data Objects) is an object-oriented data access interface to ODBC combined with the easy-to-use style of DAO, providing an interface that exposes virtually all of ODBC’s low-level power and flexibility. DAO is suited best for either single-system applications or for small, local deployments. In other cases, it might be best to rewrite the application using ADO's new features.ĭAO (Data Access Objects) was the first object-oriented interface that exposed the Microsoft Jet database engine (used by Microsoft Access) and allowed Visual Basic developers to directly connect to Access tables - as well as other databases - through ODBC. In some cases, this will mean only a simple conversion of some functions of your existing code.
While ADO encapsulates the functionality of DAO and RDO, you must convert many of the language elements over to ADO syntax.