ADO (ActiveX Data Objects) is an object oriented API (Application Programming Interface) by which a programmer can have an application access data sources through an OLE DB Provider (Object Linking and Embedding DataBase). ADO and OLE DB are at the heart of MDAC (Microsoft DataAccess Components), Microsoft's scheme for universal data access. You may want to see my articles on MDAC and DB APIs.
ADO provides ADO Objects that developers can use in their code to interface with OLE DB which in turn connects to the data providers themselves. ADO is geared for hi-level, RAD (Rapid Application Development) environments; the lower end details of the data access process are left for OLE DB.
ADO utilizes COM (Component Object Model) objects. This makes ADO language independent. It also makes ADO good for client/server, n-tier, or Web database applications.
ADO is meant to replace two previous technologies: DAO (Data Access Objects) and RDO (Remote Data Objects).
- DAO are COM objects that access databases via Microsoft JET (Joint Engine Technology) which is used especially for Microsoft Access. JET can also access ISAM (Indexed Sequential Access Method) databases such as dBase, FoxPro, BTrieve, Paradox, and ODBC databases.
- RDO are COM objects that access database with ODBC. ODBC drivers by Microsoft can connect to the majority of SQL (Structured Query Language) databases.
Because ADO interfaces with OLE DB providers, ADO can interface many sources:
- Relational databases
- Non-relational data
- Text files
- HTML pages
- Sources over networks and the Web
ADO has 3 component extensions and 1 component subset:
- ADOX (ADO Extensions for Data Definition Language and Security). ADOX provides additional objects that deal with security as well as schema creation and modification. Whereas ADO deals with database data, ADOX deals with database security objects (like users and groups) and database structure objects (like tables and procedures).
- ADO MD (ADO MultiDimensional). ADO MD provides additional objects that deal with MD (multidimensional) data such as cubes via an OLE DB provider that is also an MDP (MD Data Provider).
- RDS (Remote Data Services). RDS components provides the ability to get data, manipulate data, and update data in a single round trip in a client-server scenario. Three objects, DataControl, DataFactory, and DataSpace, are part of RDS.
- ADOR (ADO Recordset). ADOR are the components installed with Internet Explorer. They are a subset of the full ADO set, since client side scripts should only need the Recordset object and not objects such as Connection and Command objects that should be available on the server side.