5

The LA Fox Developer Newsletter
February 2000
ADO Quickstart (Con’t from page 1)
VFPCOM.DLL achieves the same results. The topics VFPCOM,
ADO Events, and how to integrate ADO and Visual FoxPro will
be discussed in another white paper. This paper is dedicated to
providing the Visual

FoxPro developer, with a comprehensive overview of ActiveX
Data Objects, Remote Data Services (RDS), their respective
objects, and how those objects work.

What Are OLE DB and ADO?

When discussing ADO, we are really talking about two distinct
elements: the ActiveX data objects themselves and Microsoft
Universal Data Access technology, more commonly known as
OLE DB.

OLE DB and Universal Data Access

In simple terms, OLE DB is the succeeding technology to the
Open Database Connectivity (ODBC) standard. OLE DB is a set
of low-level interfaces that facilitate the Microsoft Universal Data
Access strategy. ADO is a set of high-level interfaces for
working with data.

While both ODBC and OLE DB have the ability to make data
available to a client, the capabilities of the two technologies are
very different. ODBC is primarily designed for use on relational
data. However, data exists in nonrelational as well as relational
formats. In addition to new data formats, data resides in new
places such as the Internet. Finally, the Microsoft Component
Object Model (COM) framework requires better data access
technology. Clearly, ODBC does not address these needs; a
new technology is needed. That technology is OLE DB, and it is
here to stay.

The following graphic best illustrates how OLE DB and ADO
work together. Clients can work directly with OLE DB or can
work with OLE DB through the ADO interface (the latter is
typically the case). Note that OLE DB can access SQL data
either directly or through ODBC. An OLE DB provider provides
direct access by OLE DB. Also note that OLE DB can also be
used to access a variety of non-SQL data, as well as data that
exists in mainframes. The ability to access data through a
common interface, without regard to data location or structure,
is the real power behind ADO and OLE DB.

(Con’t next column)


Join LA Fox
Visit our website at
http://www.la fox. org
Whereas ODBC uses drivers, OLE DB uses providers. A
provider is a software engine that provides a specific type of
data that matches the OLE DB specification. Several OLE DB
providers exist today, including those for Microsoft SQL
ServerTM and Oracle. Because there is such widespread use of
ODBC, an OLE DB provider for ODBC has also been created in
order to ease the migration from ODBC to OLE DB. Several
nonrelational providers are currently under development. Per-
haps the most anticipated of these is the OLE DB Provider for
Microsoft Outlook®. A special provider, MS Remote, allows
direct data access over the Internet. This brief list of providers
shows the third-party community commitment to OLE DB, and
many new providers are currently under development. For the
latest news on available providers, refer to http://
www.microsoft.com/data/.

ADO Overview

OLE DB is then a set of low-level interfaces that provide access
to data in a variety of formats and locations. While powerful,
OLE DB interfaces can be cumbersome to work with directly.
Fortunately, ADO provides a set of high-level, developer-friendly
interfaces that make working with OLE DB and universal data
access a relatively simple task. Regardless of the programming
environment you use, any Visual Studio® or Microsoft Office
product such as Visual FoxPro, Visual Basic, Visual C++®, or
Word, the interface you will use to access data remains con-
stant. That interface is ADO, which in turn uses OLE DB.

ADO itself is just a set of objects. By itself, ADO is not capable
of anything. In order to provide any functionality, ADO needs the
services of an OLE DB provider. The provider in turn uses the
low-level OLE DB interface to access and work with data. One
ADO connection may use a SQL Server OLE 06 provider and
another ADO connection may use an Oracle OLE DB provider.
While the interface is constant, the capabilities may be very
different because OLE DB providers are very different, which
highlights the polymorphic nature of OLE DB.

As developers, we crave consistency. ADO provides us with a
consistent interface for our program code.

ADO Version Summary

The current version of ADO (2.1) is the fourth version of ADO to
(Con’t, page 6)
Page 5

5