What is ActiveX Data Objects?
ADO stands for ActiveX Data Objects, is a data access interface used to communicate with OLE DB–compliant data sources. ActiveX Data Objects (ADO) is a high-level object-based interface to OLE DB. OLE DB is a low-level complex interface to the data source. Using ADO and OLE DB, a client application can connect to a variety of data sources using the same programming model.
These data sources include relational databases, hierarchical databases, indexed sequential access method (ISAM) databases, and virtually any other kind of data source for which an open database connectivity (ODBC) driver exists. In order to communicate with these unique data sources, ADO and OLE DB employ components called OLE DB providers, which are designed for specific data sources.
If a native OLE DB provider is not available for a data source, but an ODBC driver is available, it should be possible to access the data source using the ODBC driver and an OLE DB provider designed to communicate with ODBC drivers.
ADO is supported in a variety of environments. For example, ADO could be used in Microsoft Visual C++ and Microsoft Visual Basic to access data in an OLE DB data source, such as Microsoft SQL Server.
In a Web-based environment, ADO is basically a server-based solution for data access. All data operations, such as changes to database records and filtering, must take place on the server. The client can then receive the data but cannot easily manipulate it. For applications in which the client must be able to manipulate the data being accessed, use remote data binding with Remote Data Service (RDS) instead. RDS is a technology that enables the user to manipulate data on the client and have any changes automatically made on the server. Allowing data to be manipulated on the client makes Web applications faster and more responsive.
ADO communicates with a database through a networking library. Choosing the right networking library can significantly improve data access performance. For example, if Microsoft SQL Server is running on the same machine as IIS, using named pipes can provide better performance than using the TCP/IP networking library.