The Universal Data Access strategy provides two very significant benefits:
Modern data-intensive applications require the integration of information stored not only in traditional database management systems but also in file systems, indexed-sequential files, desktop databases, spreadsheets, project management tools, electronic mail, directory services, multimedia data stores, spatial data stores, and more. Nevertheless, many database companies are still pursuing a traditional database-centric approach. In this outdated approach, the database vendor extends the database engine and programming interface to support new data types, including text, spatial, video, and audio. The vendor requires customers to move all the data needed by the application, which can be distributed in diverse sources across a corporation, into the vendor's database system. This process can be expensive and wasteful.
Universal Data Access (UDA) is Microsoft's effective alternative. The premise of Universal Data Access is to allow applications to efficiently access data where it resides, without replication, transformation, or conversion. Open interfaces allow connectivity among all data sources. Moreover, independent services provide for distributed queries, caching, batch updating, data marshaling, distributed transactions, and content indexing among sources. And if necessary, UDA can be implemented in a complementary fashion with the database-centric approach.
The UDA goal of provider neutrality is realized through the core MDAC technologies: OLE DB, ADO, and ODBC. OLE DB, in particular, allows access to both relational and nonrelational data stores and does not implement its features specific to any one provider or data store. Also, OLE DB can access data in whatever format it presently exists, wherever it exists. In turn, ADO can access data from any OLE DB source, and like OLE DB, ADO is provider neutral. ODBC continues to be a staple to MDAC, providing continued access to scores of existing relational data stores. The OLE DB Provider for ODBC allows newer applications to use OLE DB to access data stores that have ODBC drivers but not OLE DB providers.