Databases Reference
In-Depth Information
for ADO or MDAC, which stands for Microsoft Data Access Components.) Note that the
small version of the software kit is over 5 MB! Enjoy.
Note also that there is considerable confusion when it comes to versions of ADO, a
situation that Microsoft does not seem to want to clarify. Version 2.0 refers to the
following items, as reported by the type library itself (or the VBA IDE References dialog
box). Note the different version numbers:
Implementation:
msado15.dll
•
Object library name:
msado15.dll
•
Object Library Version: 2.0
•
Documentation String: Microsoft ActiveX Data Objects 1.5 Library
•
Help File:
msado10.hlp
•
On the other hand, Version 2.1 of ADO refers to the following items:
Implementation:
msado15.dll
•
Object library name:
msado20.tlb
•
Object Library Version: 2.0
•
Documentation String: Microsoft ActiveX Data Objects 2.0 Library
•
Help File: (none)
•
Thus, Version 2.1 uses the same implementation as Version 2.0, which is presumably the
same as Version 1.5! (Put another way, referring to Figure 17-1, if you highlight a
reference to ADO 2.1, you will still see a reference to the
msado15.dll
library!)
The type library has changed for Version 2.1 of ADO, having been extracted from within
the implementing DLL. However, this new type library does not report a help file,
although the file
ado20.chm
appears to be such a file. (Accordingly, the type library
contains no context-sensitive help references.)
Frankly, this situation does not seem to make much sense to me, but the bottom line is
that ADO appears to be implemented by the same file (
msado15.dll
) through several
“versions.”
17.3 ADO and OLE DB
As we have seen, the DAO model is the programming interface for the Jet database
engine. On the other hand, ADO has a more ambitious goal—it is the programming
model for a
universal
data-access interface called OLE DB. Simply put, OLE DB is a
technology that is intended to be used to connect to
any
type of data—traditional database
data, spreadsheet data, web-based data, text data, email data, and so on.
Technically speaking, OLE DB is a set of COM interfaces. An
interface
is just a
collection of functions, also called services, with a similar purpose. The term COM refers
to the
Component Object Model
, which is Microsoft's model for communication