Microsoft® ActiveX® Data Objects are a set of Automation objects that consume the OLE DB API and allow applications to consume data from OLE DB data sources. This includes data stored in many different formats, not just SQL databases. The ActiveX Data Object (ADO) API can be used from applications written in any Automation-enabled language, such as Microsoft Visual Basic®, Microsoft Visual C++®, Microsoft Visual J++™, and Microsoft Visual FoxPro®.
ADO applications access data through OLE DB providers. Microsoft SQL Server™ version 7.0 introduces a native Microsoft OLE DB Provider for SQL Server that can be used by ADO applications to access the data in SQL Server. In earlier versions of SQL Server, ADO applications had to use the OLE DB Provider for ODBC layered over the Microsoft SQL Server ODBC driver. While ADO applications can still use the OLE DB Provider for ODBC with the SQL Server ODBC driver, it is more efficient to only use the OLE DB Provider for SQL Server.
ADO is the API most recommended for general purpose data access from SQL Server. ADO:
The core capabilities of the OLE DB specification provides all the data access functionality needed by most applications. In addition, OLE DB allows individual providers to define provider-specific mechanisms to support additional features of the data engine accessed by the provider. ADO exposes the core capabilities of OLE DB, but does not expose provider-specific features. ADO applications cannot access a few SQL Server features exposed through provider-specific features of the OLE DB Provider for SQL Server, such as the IRowsetFastLoad bulk copy methods, SQL Server-specific extended diagnostic information, and auto-fetch cursors.
ADO has evolved from the earlier, ODBC-based Remote Data Objects (RDO) and Data Access Objects (DAO) APIs. RDO and DAO applications can be converted to ADO, and RDO and DAO application programmers quickly learn ADO. ADO is used extensively in Active Server Pages (ASP).
ADO and SQL Server | Programming ADO |