2008-09-10 41 views
4

OleDB提供程序是Microsoft提供的一种实现COM接口的二进制文件。从这看来有可能创建一个使用C#的提供者。那是对的吗?有样品证明吗?如果没有,你会阻止我这样做吗?我看到有多个未管理的样本,但我找不到任何管理的样本。用C#编写的托管OleDB提供程序

回答

-4

我不知道我真正明白你的问题?已经有一个托管的OleDBProvider ?!

using System.Data.OleDb; 

我当然会不鼓励编写一个存在并且工作得很好的提供者! :)

但在回答你的第一个问题,你当然可以创建自己的。 Data Provider Roadmap可能是开始进行概述和链接样本等的好地方。

+0

-1这是不正确的,System.Data.OleDb管理的实现是一个OLEDB客户端,而不是提供者。该提供程序允许从任何OLEDB客户端访问一组数据。有SQL,Jet,Oracle,Index Server和许多其他数据源的提供者。这些都不是在托管代码中实现的。 – 2011-06-14 17:21:04

2

该文章很好,但实际上并没有回答这个问题。 OLEDB是一组COM接口,实际上可以通过COM Interop在.Net中实现,但我从来没有听说过这样的实现,可能不是可取的。

这组OLEDB接口由Microsoft here记录。 OLEDB是一个复杂的话题,并不是所有的接口都需要实现一个功能提供者。更糟糕的是,不同的OLEDB客户端具有他们需要能够使用该提供者的一组接口。例如,下面是一个list of require interfaces,必须实现该功能才能使用.Net OLEDB客户端(System.Data.OleDb。*)中的提供程序。注意:我没有为2.0 Framework或更高版本找到这样的链接。最后值得注意的是,实现提供者非常困难,微软稍后提供了一套ATL模板(C++)来帮助实施者正确地做到这一点。

要了解有关OLEDB的更多信息,我肯定会建议您在MSDN上查看Windows Data Access SDK

相关问题