OLE DB is an open data access technology developed and promoted
by Microsoft. It allows for uniform data access across diverse data
sources including but not limited to conventional RDBMSes. Based on
the COM architecture it provides very flexible and exhaustive set
of interfaces any database application developer might ever need.
At the same time, OLE DB is somewhat overcomplicated and therefore
is rarely used directly. In the majority of cases people use ADO(+)
instead, ADO is another, somewhat simpler, of Microsoft's data
access technologies. However, ADO itself is based upon OLE DB, thus
those who use ADO make indirect use of OLE DB as well.
With the advent of ADO.NET, OLE DB is no longer as an much
essential part of the overall Microsoft data access architecture as
it used to be. However it still remains important and useful
working together with the Microsoft OLE DB .NET Data Provider.
The OLE DB Provider for Virtuoso (VIRTOLEDB) gives OLE DB and
ADO applications access to the Virtuoso databases. In principle,
the same thing is possible through the conjunction of the Virtuoso
ODBC driver and Microsoft OLE DB Provider for ODBC. However,
VIRTOLEDB provides native OLE DB access which is more complete and
more efficient. Therefore it is preferable for this purpose.