Visão geral de programação do OLE DB
O que é OLE DB e o que a torna distinta de outras tecnologias de banco de dados?OLE DB é uma tecnologia de banco de dados baseado em COM de alto desempenho produzida pela Microsoft.O que destaca o OLE DB em outras tecnologias de banco de dados da Microsoft é como ele fornece acesso a dados Universal.
Acesso a dados universal
Universal Data Access fornece uma maneira comum para acessar dados independentemente do formulário no qual está armazenado.Em uma situação típica de negócios, uma grande quantidade de informações é armazenada fora do bancos de dados corporativos.Essa informação é encontrada em sistemas de arquivos (como FAT ou NTFS), arquivos indexados-seqüenciais, bancos de dados pessoais (como o Access), planilhas (como o Excel), aplicativos de planejamento de projeto (como o projeto) e email (como Outlook).
Acessando dados usando o apresenta diversos de aplicativos associados a principal afunilamento no fluxo de trabalho ou pelo menos um aborrecimento.A maioria das empresas se vêem nessa situação e lidar com o problema, consolidando as informações em um sistema de gerenciamento de banco de dados (DBMS).No entanto, tal movimentação é caro, demorado e em muitos casos não práticos.
A alternativa é desenvolver uma solução de acesso a dados Universal.OLE DB e ADO fornecem o recurso de acesso a dados Universal.Das duas, OLE DB é o desempenho mais intenso e é recomendado para uso com aplicativos do Visual C++.
Acesso a dados universal implica dois recursos: o primeiro é consulta distribuída ou acesso uniforme a várias fontes de dados (distribuído) e o segundo é a capacidade de disponibilizar DBMS sem fontes de dados para aplicativos de banco de dados.
Consulta distribuída
A capacidade de acessar dados uniformemente em múltiplos (isto é, distribuído) fontes de dados.As fontes de dados podem ser do mesmo tipo (como dois separados acessar bancos de dados) ou de tipos diferentes (como um banco de dados de SQL Server e um banco de dados).Uniformemente significa que você pode executar significativamente a mesma consulta em todas as fontes de dados.
Acesso não-DBMS
A capacidade de disponibilizar DBMS sem fontes de dados para aplicativos de banco de dados.Exemplos de fontes de dados DBMS incluem IMS, DB2, Oracle, SQL Server, Access e Paradox.Exemplos de fontes de dados não-DBMS incluem informações em sistemas de arquivos, e-mail, planilhas e ferramentas de gerenciamento de projeto.
Considere um cenário no qual um departamento de vendas precisa localizar todos os emails recebidos em um período de uma semana de clientes em uma determinada área.Esta consulta pode exigir uma pesquisa no arquivo de caixa de correio de um aplicativo de email e uma pesquisa em uma tabela de clientes para especificar os nomes dos clientes.Enquanto o Access é um aplicativo do DBMS, o Outlook não é.
OLE DB permite que você desenvolver aplicativos que acessam fontes de dados diferentes, sejam eles DBMS ou não.OLE DB possibilita acesso universal usando interfaces COM que suportam a funcionalidade DBMS apropriada para uma determinada fonte de dados.COM reduz a duplicação desnecessária de serviços e maximizada interoperabilidade não apenas entre fontes de dados, mas também entre outros aplicativos.
Benefícios do COM
Isso é onde entra COM.OLE DB é um conjunto de interfaces COM.Acessando dados através de um conjunto uniforme de interfaces, você pode organizar um banco de dados em uma matriz de componentes trabalham em conjunto.
Baseado na especificação COM, OLE DB define um conjunto extensível e passível de manutenção de interfaces que fator e encapsular consistentes e reutilizáveis partes da funcionalidade do DBMS.Essas interfaces definem os limites de componentes do DBMS como recipientes de linha, processadores de consulta e coordenadores de transação, que permitem acesso transacional uniforme a fontes de informações diversas.
Normalmente, aplicativos de banco de dados OLE são gravados como DLLs, mas sua implementação COM supera as desvantagens das DLLs (como problemas de nomenclatura e versão) usando código modular.OLE DB, você chama interfaces ou acessar outros componentes usando seus globally unique identifiers (GUIDs).
Finalmente, COM mantém registro de uso do componente usando a contagem de referência.Quando você chamar um método em uma interface, a contagem de referência é incrementada; Quando o método retorna, a contagem de referência é diminuída.Quando a contagem é igual a zero, o componente ao qual o método pertence é liberado.
Consulte também
Conceitos
OLE DB consumidor modelos (C++)