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

标签 c# com oledb

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/

相关文章:

c# - 在 C# 中使用 Microsoft Access 和 OleDb 在数据库中添加数据

c# - Access .net 中的数据加载失败

c# - 单色触摸 : UITabBarController throws 'loaded the nib but the view outlet was not set'

c# - 单元格值更改事件,c#

powershell - 使用-Co​​mObject Word.application而不安装Word

c# - 使用参数化查询在使用 OldDb 的 Access 中添加比例为 2 的数字类型的列

c# - 对 ConcurrentDictionary 的线程安全更改

c# - 为什么在 SqlDataReader 关闭之前我不能使用 SqlConnection 实例?

c# - 可以使用 System.Security.AccessControl 访问 DCOM 安全吗?

c# - 2个应用程序之间的进程间通信