Chapter 23. Using ADO for Searching

Microsoft’s ADO technology lets you conduct database searches and retrieve the results through a flexible interface called record sets. ADO also lets you update information in a database directly or with stored procedures. Since 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. You can use ADO only for searching and retrieving objects, but 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 enumerate 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 that match certain 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 ...

Get Active Directory, 4th Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.