MDAC 2.5 SDK - OLE DB Programmer's Reference
Chapter 1: Overview of OLE DB
OLE DB enables the development of applications that access diverse data stores. For example, consider a sales representative who wants to find all e-mail messages received within the last two days from Seattle customers, including these customers' addresses, to which no one has yet replied. This query involves searching the mailbox file containing the sales representative's e-mail, as well as a Customers table stored in a Microsoft Access DBMS to identify customers. The query can be formulated in an extended SQL syntax as follows. (This query is designed for illustration only. It is not implemented in any product known to Microsoft.)
SELECT m1.*, c.Address FROM
MakeTable(Mail, d:\mail\smith.mmf) m1,
MakeTable(Access, d:\access\Enterprise.mdb, Customers) c
WHERE m1.Date >= date(today(), -2)
AND m1.From = c.Emailaddr
AND c.City = "Seattle"
AND NOT EXISTS
(SELECT * FROM MakeTable(Mail, d:\mail\smith.mmf) m2
WHERE m1.MsgId = m2.InReplyTo);
Assume that MakeTable is a function that makes the mail file D:\Mail\Smith.mmf into a table. It also exposes the Customers table from a Microsoft Access database (D:\Access\Enterprise.mdb). The function date takes a date and a number of days as arguments and produces a date.
OLE DB makes it easy for applications to access data stored in diverse DBMS and non-DBMS information sources. DBMS sources may include mainframe databases such as IMS and DB2, server databases such as Oracle and Microsoft SQL Server™, and desktop databases such as Microsoft Access and Microsoft Visual FoxPro. Non-DBMS sources might include information stored in file systems such as Microsoft Windows® 2000 and UNIX, indexed-sequential access method (ISAM) files, e-mail, spreadsheets, project management tools, and the World Wide Web.