Universal Data Access (UDA) provides access to information across the enterprise, including relational and non-relational databases. Its programming interface is tool- and language-independent. These technologies enable integration of diverse data sources and creation of solutions that are easily maintained.
UDA does not require moving data into a single data store, nor does it require commitment to a particular product. UDA is based on open industry specifications with broad industry support, and works with all major established database platforms.
The Microsoft Data Access Components enable Universal Data Access. These components include the following:
Microsoft® ActiveX® Data Objects (ADO)
A provider-neutral, application-level data access object model that can be used from Java and other languages. ADO extensions include a set of Java classes that extend the ADO interfaces and create notifications interesting to the Java programmer. These extensions expose functions that return Java types. In addition, the extensions are optimized to improve performance. The Java class directly accesses the native data types in the OLE DB Rowset object and returns them to the Java programmer as Java types without first converting them to and from a Variant.
Remote Data Service (RDS)
Formerly known as the Advanced Data Connector (ADC); Microsoft's programming model for distributed data access through the Web. RDS is a feature of ADO that makes full-featured, datacentric Web applications a reality by combining data manipulation of retrieved data, efficient client-side caching, and support for data-aware Microsoft® ActiveX® Controls with an elegant and powerful programming model.
OLE DB
Microsoft's specification for a set of data access interfaces that enable data stores of all types and sizes to work seamlessly together. These interfaces are accessible from Java. There are also Java compiler directives that specify a function will be mapped as an OLE-compatible function.
Open Database Connectivity (ODBC)
A C-level API for Microsoft® SQL Server data sources and provides a common interface for accessing heterogeneous SQL databases. ODBC is based on SQL as a standard for accessing data. ODBC's interface provides maximum interoperability: A single application can access different database management systems (DBMSs) through a common set of code. This enables a developer to build and distribute a client/server application without targeting a specific DBMS or having to know specific details of various back-end data sources. Java developers can code directly to the ODBC API by declaring various functions and then using them to connect, send SQL statements, retrieve results, get errors, disconnect, and so on. However, it is simpler to use ADO, Remote Data Objects (RDO), and Data Access Objects (DAO) to access ODBC data from applications.
This section provides the following MDAC documents.
Microsoft Strategy for Universal Data Access provides an in-depth look at Microsoft's strategy for providing access to information across an organization, from the desktop to the enterprise.
Implementing ADO with Various Development Languages describes how to implement ADO applications using Microsoft® Visual Basic® for Applications (VBA); Microsoft® Visual C++® (Visual C++); Java; Microsoft® Visual Basic®, Scripting Edition (VBScript), and Microsoft® JScript.
Windows Foundation Classes for Java and ADO/WFC explains and clarifies the usage of ADO/WFC. It provides a number of Java and WFC examples that illustrate not only how to use ADO from Visual J++, but why you would want to use ADO.
ADO/WFC vs. JDBC compares the Java JDBC interface to SQL data versus ADO/WFC and also versus the OLE DB–based data solution that ships with Visual J++ and WFC.
OLE DB/ADO: Making Universal Data Access a Reality reviews the Universal Data Access platform, presents an overview of ADO, and describes a service component architecture that enables you to compose services transparently to consumers and providers.
ADO Tutorial shows how to use the ADO programming model to query and update a data source.
RDS Tutorial shows how to use the RDS programming model to query and update a data source.