Consumidores e provedores de banco de dados OLE
A arquitetura do OLE DB emprega o modelo de consumidores e provedores. Um consumidor faz solicitações de dados. Um provedor responde a essas solicitações colocando dados em um formato tabular e retornando-os ao consumidor. Qualquer chamada que o consumidor possa fazer deve ser implementada no provedor.
Definindo tecnicamente, um consumidor é qualquer código de sistema ou aplicativo (não necessariamente um componente OLE DB) que acessa dados por meio de interfaces OLE DB. As interfaces são implementadas em um provedor. Portanto, um provedor é qualquer componente de software que implementa interfaces OLE DB para encapsular o acesso aos dados e expô-los a outros objetos (ou seja, consumidores).
No caso das funções, um consumidor chama métodos em interfaces OLE DB; um provedor OLE DB implementa as interfaces OLE DB necessárias.
O OLE DB evita os termos cliente e servidor porque essas funções nem sempre fazem sentido, especialmente em uma situação de N camadas. Como um consumidor pode ser um componente em uma camada que atende a outro componente, chamá-lo de componente cliente seria confuso. Além disso, um provedor às vezes atua mais como um driver de banco de dados do que como um servidor.