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 that match certain criteria, ADO is exactly what you should use. The ADO object model consists of nine objects (
Streams) and four collection objects (
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 ...