5

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

4

2 回答 2

3

这篇文章很好,但实际上并没有回答这个问题。OLEDB 是一组 COM 接口,实际上可以通过 COM Interop 在 .Net 中实现,尽管我从未听说过这样的实现并且可能不建议使用。

Microsoft在此处记录了 OLEDB 接口集。OLEDB 是一个复杂的话题,并非所有接口都需要实现功能提供程序。更糟糕的是,不同的 OLEDB 客户端具有使用提供程序所需的一组接口。例如,这里列出了使用 .Net OLEDB 客户端 (System.Data.OleDb.*) 中的提供程序必须实现的必需接口列表。注意:我没有找到 2.0 Framework 或更高版本的此类链接。最后值得注意的是,实现提供者非常困难,微软后来提供了一组 ATL 模板 (C++) 来帮助实现者正确地做到这一点。

要了解有关 OLEDB 的更多信息,我绝对建议您查看 MSDN 上的Windows 数据访问 SDK

于 2011-06-14T17:30:49.347 回答
-5

我不确定我是否真的理解你的问题?!已经一个托管的 OleDBProvider 了?!

using System.Data.OleDb;

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

但在回答您的第一个问题时,您当然可以创建自己的问题。数据提供者路线图可能是开始概述和链接到示例等的好地方。

于 2008-09-10T04:48:12.173 回答