Compartilhar via


Provedores OLE DB (ADO)

O OLE DB define um conjunto de interfaces COM para fornecer aos aplicativos acesso uniforme a dados armazenados em diversas fontes de informações. Essa abordagem permite que uma fonte de dados compartilhe seus dados por meio das interfaces que dão suporte à quantidade de funcionalidade DBMS apropriada à fonte de dados. Por design, a arquitetura de alto desempenho do OLE DB baseia-se no uso de um modelo flexível de serviços baseados em componentes. Em vez de ter um número prescrito de camadas intermediárias entre o aplicativo e os dados, o OLE DB requer apenas os componentes necessários para realizar uma tarefa específica.

Por exemplo, suponha que um usuário queira executar uma consulta. Considere os seguintes cenário:

  • Os dados residem em um banco de dados relacional para o qual existe atualmente um driver ODBC, mas nenhum provedor OLE DB nativo: o aplicativo usa o ADO para falar com o Provedor OLE DB para ODBC, que carrega o driver ODBC apropriado. O driver passa a instrução SQL para o DBMS, que recupera os dados.

  • Os dados residem no Microsoft SQL Server para o qual há um provedor OLE DB nativo: o aplicativo usa o ADO para falar diretamente com o Provedor OLE DB para Microsoft SQL Server. Não são necessários intermediários.

  • Os dados residem no Microsoft Exchange Server, para o qual há um provedor OLE DB, mas que não expõe um mecanismo para processar consultas SQL: o aplicativo usa o ADO para falar com o Provedor OLE DB para Microsoft Exchange e chama um componente do processador de consulta OLE DB para lidar com a consulta.

  • Os dados residem no sistema de arquivos Microsoft NTFS na forma de documentos: os dados são acessados usando um provedor OLE DB nativo no Serviço de Indexação da Microsoft, que indexa o conteúdo e as propriedades de documentos no sistema de arquivos para habilitar pesquisas de conteúdo eficientes.

Em todos os exemplos anteriores, o aplicativo pode consultar os dados. As necessidades do usuário são atendidas com um número mínimo de componentes. Em cada caso, componentes adicionais são usados somente se necessário, e apenas os componentes necessários são invocados. Esse carregamento de demanda de componentes reutilizáveis e compartilháveis contribui muito para o alto desempenho quando o OLE DB é usado.

Os provedores se enquadram em duas categorias: aqueles que fornecem dados e aqueles que fornecem serviços. Um provedor de dados possui seus próprios dados e os expõe de forma tabular ao aplicativo. Um provedor de serviços encapsula um serviço produzindo e consumindo dados, aumentando os recursos nos seus aplicativos ADO. Um provedor de serviços também pode ser definido como um componente de serviço, que deve funcionar em conjunto com outros provedores de serviços ou componentes.

O ADO fornece uma interface de nível mais alto e consistente para os vários provedores OLE DB.

Esta seção contém os seguintes tópicos.