Object Linking and Embedding (OLE)
OLE is an object-oriented technology that enables development of reusable software components. The OLE component object model paradigm represents a fundamental shift in the way applications are written. Instead of traditional procedural programming in which each component implements the functionality it requires, the OLE architecture allows applications to use shared objects that provide specific functionality. Things like text documents, charts, spreadsheet tables, mail messages, graphics, and sound clips all appear as objects to the OLE application. OLE objects are supported on the Windows® and Macintosh® platforms today and are the foundation of future Windows operating systems.
OLE DB is Microsoft's system-level programming interface to diverse data sources. OLE DB specifies a set of Microsoft Component Object Model (COM) interfaces that encapsulate, or hide, various database management system services. These interfaces enable you to create software components that implement the Universal Data Access platform.
Whereas OLE DB is a system-level programming interface, ADO is an application-level programming interface. ADO, based on Automation, is a database-programming model that allows enterprise programmers to write applications over OLE DB data from any language including Visual Basic, Java, VBScript, JavaScript, and C/C++.