Управляемый поставщик OleDB, написанный на C # - PullRequest
4 голосов
/ 10 сентября 2008

Поставщик OleDB - это двоичный интерфейс COM, предоставляемый Microsoft. Исходя из этого, представляется возможным создать поставщика с использованием C #. Это верно? Есть ли образец, демонстрирующий это? Если нет, вы бы отговорить меня от этого? Я вижу, что существует несколько неуправляемых образцов, но я не могу найти ни одного управляемого.

Ответы [ 3 ]

2 голосов
/ 14 июня 2011

Статья хорошая, но на самом деле не отвечает на вопрос. OLEDB - это набор COM-интерфейсов, которые на самом деле могут быть реализованы в .Net через COM-взаимодействие, хотя я никогда не слышал о такой реализации и, вероятно, не рекомендуется.

Набор интерфейсов OLEDB задокументирован Microsoft здесь . OLEDB - сложная тема, и не все интерфейсы требуются для реализации функционального провайдера. Что еще хуже, разные клиенты OLEDB имеют набор интерфейсов, который им необходим для использования поставщика. Например, вот список требуемых интерфейсов , которые должны быть реализованы для использования поставщика из клиента OLEDB .Net (System.Data.OleDb. *). Примечание: я не нашел такой ссылки для 2.0 Framework или более поздней версии. Наконец, стоит отметить, что было сложно реализовать поставщиков, которые позже Microsoft предоставила набор шаблонов ATL (C ++), чтобы помочь разработчикам сделать это правильно.

Чтобы узнать больше об OLEDB, я определенно рекомендую взглянуть на Windows Data Access SDK на MSDN.

2 голосов
/ 10 сентября 2008

Это у меня над головой ... но вот интересная статья Дино Эспозито на эту тему на высоком уровне:

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

0 голосов
/ 10 сентября 2008

Я не уверен, что действительно понимаю ваш вопрос ?! Уже является управляемым OleDBProvider?!

using System.Data.OleDb;

Я бы определенно не рекомендовал писать провайдера, который существует и работает абсолютно нормально! :)

Но, отвечая на свой первый вопрос, вы, конечно, можете создать свой. Дорожная карта провайдера данных может быть хорошим началом для обзора, ссылок на образцы и т. Д.

...