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

有帮助吗?

解决方案

这超出了我的理解范围...但这里有一篇关于这个主题的有趣的 Dino Esposito 文章:

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

其他提示

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

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

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

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

using System.Data.OleDb;

我当然不鼓励编写一个存在且工作得非常好的提供程序!:)

但为了回答你的第一个问题,你当然可以创建自己的。这 数据提供商路线图 可能是开始概述和示例链接等的好​​地方。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top