Pergunta

Um provedor OleDB é um binário que implementa interfaces COM fornecidas pela Microsoft.A partir disso parece ser possível criar um provedor usando C#.Isso está correto?Existe uma amostra demonstrando isso?Se não, você me desencorajaria de fazer isso?Vejo que existem vários exemplos não gerenciados, mas não consigo encontrar nenhum gerenciado.

Foi útil?

Solução

Está muito além da minha cabeça...mas aqui está um artigo interessante de Dino Esposito sobre o assunto em alto nível:

http://msdn.microsoft.com/en-us/library/ms810268.aspx

Outras dicas

O artigo é bom, mas na verdade não responde à pergunta.OLEDB é um conjunto de interfaces COM que poderia de fato ser implementado em .Net via COM Interop, embora eu nunca tenha ouvido falar de tal implementação e provavelmente não seja aconselhável.

O conjunto de interfaces OLEDB é documentado pela Microsoft aqui.OLEDB é um tópico complicado e nem todas as interfaces são necessárias para implementar um provedor funcional.Para piorar as coisas, diferentes clientes OLEDB possuem o conjunto de interfaces necessárias para poder usar o provedor.Por exemplo, aqui está um lista de interfaces necessárias que deve ser implementado para usar um provedor do cliente .Net OLEDB (System.Data.OleDb.*).Observação:Não encontrei esse link para o Framework 2.0 ou posterior.Finalmente, vale a pena notar que foi muito difícil implementar provedores. Mais tarde, a Microsoft forneceu um conjunto de modelos ATL (C++) para ajudar os implementadores a fazer isso corretamente.

Para saber mais sobre OLEDB, eu definitivamente recomendo dar uma olhada no SDK de acesso a dados do Windows no MSDN.

Não tenho certeza se realmente entendi sua pergunta?!Já existe é um OleDBProvider gerenciado?!

using System.Data.OleDb;

Eu certamente desencorajaria escrever um provedor que exista e funcione perfeitamente bem!:)

Mas, em resposta à sua primeira pergunta, é claro que você pode criar a sua própria.O Roteiro do provedor de dados pode ser um bom lugar para começar para uma visão geral e links para exemplos, etc.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top