OLE DB Providers

The same principle applies to the Index Server. The Index Server is an OLE DB provider. We use this term to indicate that a driver exists on the system that exposes a particular database's capabilities through a common programmatic interface. Regardless of the way in which a database stores its data internally, databases that are OLE DB providers present a common face to the world.

Because the Index Server is an OLE DB provider, we can use the Active Data objects to submit SQL queries to the Index Server, just as we used them in Chapter 7 to submit queries to a Microsoft Access database. In this section, we'll have a look at how to do this.

If you haven't read this book's chapter on ADO, you may wish to do that before proceeding.

The Index Server SQL Extensions

To make it possible to access all of the capabilities of the Index Server with ADO, Microsoft has added a few extensions to the SQL language specification. For the most part, these extensions simply take into account those features of querying that exist in the Index Server, but that have no parallel in the database world.

For example, in an SQL

SELECT
statement, you usually reference the rows that you want to retrieve from a database table. With the Index Server, you're dealing with a virtual table, a collection of predefined "column names" that you identify by their friendly names (for example,
DocAuthor
,
Characterization
,
Directory
, and so on).

Whereas the

FROM
clause for a query generally references the table or tables you want to search, an Index Server query references the catalog you want to query and the query's scope. The
WHERE
clause, like the
SELECT
clause, specifies which rows in the virtual table will make up the resulting
Recordset
.

In this section, we'll identify the Index Server's SQL extensions as we encounter them. For an exhaustive treatment of these extensions, see the Index Server reference documentation.

© 1998 by Wrox Press. All rights reserved.