Vista Software
OLEDB Introduction

What is OLE DB?

(Some text based on information from the Microsoft site)

OLE DB is an important Microsoft technology that is based on COM. It is essentially COM for universal data management. OLE DB breaks down into four things: data providers, data consumers, data service providers, and business component developers. Apollo OLE DB™ is a data provider.

The primary focus of ODBC was to provide a consistent interface to database data sources. OLE DB is designed with an even broader goal in mind: to provide a methodology to access data regardless of the data source.

A basic OLE DB implementation has two components: a data provider and a data consumer. A data provider is an application that responds to various OLE DB calls to provide information to a data consumer. Apollo OLE DB is a data provider. A data consumer is an application or other COM component that uses the application program interfac (API) of OLE DB to access a data source. A data consumer can be any application that requires access to data.

Businesses are increasingly discovering the need to build solutions that span desktop, mid-range, mainframe, and Internet technologies. The variety of data stores that are present in any business today, and the many ways in which they are accessed, create barriers to developing applications that can bridge both the new and the old technologies. As a result, new requirements emerge for middleware that enables a new class of applications to be easily built and managed.

OLE DB is a specification for a set of data access interfaces designed to enable a multitude of data stores, of all types and sizes, to work seamlessly together. These interfaces comprise an industry standard for data access and manipulation that can ensure consistency and interoperability in a heterogeneous world of data and data types.

OLE DB goes beyond simple data access by partitioning the functionality of a traditional relational database into logical components, and the events needed for those components to communicate. Developers can use these interfaces to define very simple data providers as well as fully relational databases. This is a strategic part of Microsoft's enterprise infrastructure for component-based computing. Components can be thought of as the combination of both process and data into a secure, reusable object. As a result, it often makes sense to treat components as both consumers and providers of data at the same time. Since the OLE DB specification is a definition of how databases interoperate at various levels, components can be built using OLE DB to behave as a table, even though very complex computing processes can actually occur between the data sources and the consuming applications. This capability will have considerable impact on how multi-tier applications are assembled.

There is clearly a need for a new approach to unified data access and manipulation. OLE DB is that new approach.

Data Providers

Apollo OLE DB is a Data Provider

There are many reasons to simplify data access in the corporate world. Enabling a variety of diverse data sources to share information is essential to corporate decision making. With the initial release of the OLE DB SDK, OLE DB-compliant data consumers will be able to efficiently access all relational databases through existing ODBC drivers. Therefore, Microsoft's plan is to work primarily with non-SQL database vendors, such as Apollo OLE DB, to support the OLE DB interfaces. These data sources range from very simple formats like log files and ISAMs through the most complex formats, such as IMS, ADABAS, or e-mail stores. Additionally, the OLE DB SDK provides a component that implements common functionality associated with managing a rowset. This component makes it easier for data providers to expose the rowset interfaces on top of their data. The advantages of OLE DB continue to grow as a broad base of support from a wide array of database vendors becomes available.

Data Consumer

Applications you develop are Data Consumers

The OLE DB data consumer is any piece of system or application code that needs access to a broad range of data, including development tools, languages, and personal productivity tools. Microsoft is actively encouraging a broad set of tools vendors to write to the OLE DB specification.

Apollo Database Engines