Chapter 20. Using ADO for Searching
Microsoft's ADO technology lets you conduct database
searches and retrieve the results through a flexible interface called
resultsets. ADO also lets you update information in a database
directly or with stored procedures. Because Microsoft created an ADO
database provider for ADSI (the ADSI OLE DB provider),
you can also use ADO's database query technology to
query Active Directory. However, the ADSI OLE DB provider is
currently read-only, so many of the useful ADO methods for updating
data aren't available yet. You can use ADO only for
searching and retrieving objects. Despite the read-only limitation,
using ADO is still a boon. It is significantly faster to search
Active Directory using ADO than it is to use ADSI to bind to each
object recursively down a branch. Even using
IADsContainer::Filter is slow in comparison. So if
you need to search Active Directory rapidly for attributes matching
criteria, ADO is exactly what you should use. The ADO object model
consists of nine objects (Command,
Connection, Error,
Field, Parameter,
Property, Record,
Recordset, and Streams) and
four collection objects (Errors,
Fields, Parameters, and
Properties). However, some of these objects
aren't useful if you're using the
ADSI OLE DB provider, as they are more often used for accessing
full-fledged database services. For example, the
Parameter object lets you pass parameters to
stored procedures, but this object is of little use because the ADSI
provider doesn't support stored procedures.
The objects that are appropriate to ADSI in a read-only environment
are the Command, Connection,
Error, Field,
Property, and Recordset
objects. We use them to show you how to perform complex searches. For
a full description of the ADO object model and the available
functions, check out the following on the MSDN Library (http://msdn.microsoft.com/library/): Data
Access Microsoft Data Access Components (MDAC)
SDK Documentation Microsoft
ActiveX Data Objects (ADO).
|
If you wish to make use of the tools in
this chapter in a VB project rather
than a VBScript script, you need to include the Microsoft ActiveX
Data Objects 2.x library from the Reference item on the Project menu
of the Visual Basic Environment.
|
|
One point to note: ADO is written to work with all types of
databases, so there are a numerous ways of doing exactly the same
thing. We will attempt to cover examples of each different way as
they crop up so that you will be able to choose the method that suits
you best or that you are familiar with.
|