C# 用C编写的托管OleDB提供程序#

C# 用C编写的托管OleDB提供程序#,c#,com,oledb,C#,Com,Oledb,OleDB提供程序是实现Microsoft提供的COM接口的二进制程序。因此,似乎可以使用C#创建一个提供程序。对吗?有没有样品可以证明这一点?如果不是,你会劝阻我不要那样做吗?我看到有多个非托管样本,但我找不到任何托管样本。我不确定我是否真的理解您的问题?!已经有一个托管OLEDB提供程序 using System.Data.OleDb; 我当然不鼓励编写一个存在且工作绝对良好的提供者!:) 但是在回答你的第一个问题时,你当然可以创建你自己的。这篇文章很好,但实际上并没有回答这个问题。OLE

OleDB提供程序是实现Microsoft提供的COM接口的二进制程序。因此,似乎可以使用C#创建一个提供程序。对吗?有没有样品可以证明这一点?如果不是,你会劝阻我不要那样做吗?我看到有多个非托管样本,但我找不到任何托管样本。

我不确定我是否真的理解您的问题?!已经有一个托管OLEDB提供程序

using System.Data.OleDb;
我当然不鼓励编写一个存在且工作绝对良好的提供者!:)


但是在回答你的第一个问题时,你当然可以创建你自己的。这篇文章很好,但实际上并没有回答这个问题。OLEDB是一组COM接口,实际上可以通过COM互操作在.Net中实现,尽管我从未听说过这样的实现,而且可能并不可取

这组OLEDB接口由Microsoft记录。OLEDB是一个复杂的主题,并非所有接口都需要实现功能提供者。更糟糕的是,不同的OLEDB客户端都有一组能够使用提供程序所需的接口。例如,要使用.Net OLEDB客户机(System.Data.OLEDB.*)中的提供程序,必须实现以下步骤。注意:我没有找到2.0框架或更高版本的链接。最后值得注意的是,实现提供者非常困难,Microsoft后来提供了一组ATL模板(C++),以帮助实现者正确地实现


要了解有关OLEDB的更多信息,我绝对建议查看MSDN上的。

-1这不是真的,System.Data.OLEDB托管实现是OLEDB客户端,而不是提供程序。提供程序允许从任何OLEDB客户端访问一组数据。有SQL、Jet、Oracle、Index Server和许多其他数据源的提供程序。这些都不是在托管代码中实现的。这主要是一个链接到