Much had been written about OLE DB (Object Linking and Embedding, Database) since Microsoft released it in the late 1990s; it was designed to be a replacement and successor to ODBC.

OLE DB does expand the feature set of ODBC to support a wider variety of non-relational databases, but it never really got the traction that Microsoft really hoped for.

There are two main reasons for this:

ODBC has been widely used for years to connect applications to data sources on a variety of platforms.

Over recent years the debate over OLE DB vs ODBC heated up; a lot of younger database professionals decided to use OLE DB as it was seen as a newer technology and so obviously better (they actually meant faster).

The truth is that the mythical improvement in speed of data transfer was never important to database administrators, they just wanted something that would help them get to the data they wanted, the solution needed to be simple to install, easy to use and secure, and ODBC fitted the bill perfectly.

Interoperability is the key, as it was when ODBC and OLE DB were both released, it's the same today and it will be the same in the future.

What does this all mean? Well Microsoft have strongly sided with ODBC once again, and as support for OLE DB will disappear at some point in the future the smart money is on ensuring that no new projects are started using OLE DB, but by using ODBC.