Microsoft Universal Data Access

Microsoft Universal Data Access is Microsoft’s strategic interoperability architecture for providing access to information across the enterprise. From the desktop, to departmental servers, to mainframes, Universal Data Access provides the means for high performance client/server and Web-based applications to interoperate across the enterprise on private networks or across the world via the Internet.

ODBC Diagram

Today, companies building enterprise solutions face a number of challenges as they seek to gain maximum business advantage from the data and information distributed throughout their corporations. Through ODBC, OLE DB and ActiveX Data Objects (ADO), Universal Data Access provides high-performance access to a variety of information sources, including relational and non-relational sources, and an easy-to-use programming interface that is tool- and language-independent. These technologies enable corporations to integrate diverse data sources, create easy-to-maintain solutions, and use their choice of tools, applications, and platform services.

Universal Data Access does not require companies to move data into a single data store, which is expensive and time-consuming, nor does it require that they commit to a single vendor’s products. Universal Data Access is based on open industry specifications with broad industry support, and works with all major established database platforms. Universal Data Access is an evolutionary step from today’s standard interfaces, including ODBC, RDO, and DAO; and extends the functionality of these well-known and well-tested technologies. ODBC is not being replaced, but rather subsumed within OLE-DB.


Universal Data Access is based on the ability of OLE DB to access remote logic and data of all types, and it relies on ADO to provide the programming model that application developers will use.

OLE DB is Microsoft’s strategic low-level interface to all kinds of data throughout the enterprise. OLE DB is an open specification designed to build on the success of ODBC by providing an open standard for accessing all kinds of data. OLE DB is designed for relational and non-relational information sources, including mainframes hierarchical databases; email and file system stores; text, graphical, and geographical data; custom business objects; and more.

OLE DB includes ODBC to enable continued support for the broad range of ODBC functions. OLE DB is a set of COM (Component Object Model) interfaces that provide applications with uniform access to data stored in diverse information sources, regardless of location.

ActiveX Data Objects

ADO is Microsoft’s strategic, high-level interface to all kinds of data. ADO provides consistent, high-performance access to data, whether you’re creating a front-end database client or middle-tier business object using an application, tool, language, or even an Internet browser. ADO is the single data interface you need to know for 1- to n-tier client/server and Web-based data-driven solution development.

ADO is designed as an easy-to-use application level interface to Microsoft’s newest and most powerful data access paradigm, OLE DB. OLE DB provides high-performance access to any data source, including relational and non-relational databases, email and file systems, text and graphics, custom business objects, and more. ADO is implemented with a small footprint, minimal network traffic in key Internet scenarios, and a minimal number of layers between the front-end and data source—all to provide a lightweight, high-performance interface. ADO is easy to use because it is called using a familiar metaphor – the Automation interface, available from just about any tool and language on the market today. And since ADO was designed to combine the best features of, and eventually replace RDO and DAO, it uses similar conventions with simplified semantics to make it easy to learn for today’s developers.

Since ADO is a COM-based component, any application or language capable of working with COM objects can use it. ADO is built around a set of “core” functions that all data sources are expected to implement. ADO is not specifically designed for relational or ISAM databases — but as an object interface to any data source. ADO serves much the same purpose as DAO and RDO, that is, to give you an easy-to-use object model for accessing data. ADO allows you to access data via OLE DB and therefore is a way to programmatically work with all types of data.

For more detailed information on Microsoft Universal Data Access, OLE-DB, ADO, and ODBC, see the Microsoft web site