代码之家  ›  专栏  ›  技术社区  ›  David Pokluda

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

  •  4
  • David Pokluda  · 技术社区  · 17 年前

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

    3 回复  |  直到 15 年前
        1
  •  2
  •   rp.    17 年前

    它在我的头上…但这里有一篇有趣的迪诺·埃斯波西托的高层次文章:

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

        2
  •  2
  •   Peter Oehlert    15 年前

    这篇文章不错,但实际上没有回答问题。OLEDB是一组COM接口,实际上可以通过COM互操作在.NET中实现,尽管我从未听说过这样的实现,可能并不可取。

    一组OLEDB接口由微软提供文档 here . OLEDB是一个复杂的主题,并不是所有接口都需要实现一个功能提供者。更糟的是,不同的OLEDB客户机拥有一组能够使用提供程序所需的接口。例如,这里是 list of require interfaces 必须实现它才能使用来自.NET OLEDB客户端(System.Data.OLEDB.*)的提供程序。注意:我没有找到2.0框架或更高版本的链接。最后值得注意的是,它很难实现提供者微软后来提供了一套ATL模板(C++)来帮助实现者正确地执行它。

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

        3
  •  -4
  •   Rob Cooper    17 年前

    我不确定我真的理解你的问题?已经有了! 托管OLEDB提供程序?!

    using System.Data.OleDb;
    

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

    但在回答你的第一个问题时,你当然可以自己创造。这个 Data Provider Roadmap 可能是一个好的地方,可以开始一个概述和链接到样本等。