OleDB 提供程序是 Microsoft 提供的实现 COM 接口(interface)的二进制文件。由此看来,似乎可以使用 C# 创建提供程序。那是对的吗?有没有样本证明这一点?如果没有,你会阻止我这样做吗?我看到有多个非托管样本,但找不到任何托管样本。
最佳答案
这篇文章很好,但实际上并没有回答问题。 OLEDB 是一组 COM 接口(interface),实际上可以通过 COM Interop 在 .Net 中实现,尽管我从未听说过这样的实现并且可能不可取。
OLEDB 接口(interface)集由 Microsoft 记录 here . OLEDB 是一个复杂的主题,并非所有接口(interface)都需要实现功能提供程序。更糟糕的是,不同的 OLEDB 客户端具有使用提供程序所需的一组接口(interface)。例如,这里是一个 list of require interfaces必须实现才能使用来自 .Net OLEDB 客户端 (System.Data.OleDb.*) 的提供程序。注意:我没有找到 2.0 Framework 或更高版本的链接。最后值得注意的是,提供程序的实现是如此困难,微软后来提供了一组 ATL 模板(C++)来帮助实现者正确地实现它。
要了解有关 OLEDB 的更多信息,我绝对建议您查看 Windows Data Access SDK在 MSDN 上。
关于c# - 用 C# 编写的托管 OleDB 提供程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53404/