做COM+访问数据库,急需OLE DB接口的例子,谢谢了大家!

解决方案 »

  1.   

    不需要什么例子,如果你能把ATL OLEDB Consumer模板看懂,对OLE DB接口就算懂了。
      

  2.   

    另外,MSDN上也有例子,你在MSDN例子库..VC98\sdk\dbmsg\oledb可以找到。
    不过,我建议还是打开ATL OLEDB Consumer Template看看,除了能搞懂这些接口外,还能得到从VC内部代码上学到很多东西。
    另外,OLEDB最让人头痛的就是Accessor了,可以参考以下MSDN例子库的 CTable::CreateAccessors。
      

  3.   

    光是在OLE DB的ATL模板类已经叫人头痛了,更不要说直接用OLE DB接口了,哎,有谁能帮帮我,解释一下访问器的用法啊
      

  4.   

    如果能把OLEDB Consumer Template的源码都看懂,当然好。不过这个难度很大,模板类的理解离不开底层 OLEDB COM API 的理解,这并不是简单的事,可能还要去查SDK的相关文档,否则你可能很难用好。
        另外,你既然用COM+,ADO 的使用也相当重要,我建议你从ADO 入手。遇到性能问题,最后可以考虑用OLEDB 的ATL模板。那时再直接用MSDN 提供的简单例子试试并做改造。
        要知道,C++ Builer 对 ADO有较好的支持,VC当然也可以直接使用ADO了。
      

  5.   

    Provider模板才难看懂,但看懂Consumer模板还比较容易,东西不多,一共才几个,况且,主要就是CDataSource,CSession,CTable,CCommand,CParameter等几个才是最重要的,其实OLEDB Consumer Tamplate不比ADO难多少,架构也有点类似,唯一区别就是多了个Session,而ADO是把Datasourse跟Session结合在一起形成了一个Connection。
      

  6.   

    不难?
    Blob字段的写入,CDynamicAccessor的内部错误。OLEDB Services component 的使用,ADO 与 OLEDB的内在关系。OLEDB 在COM+多层分布式的应用。不懂OLEDB的底层机制,却要看懂Consumer模板? 能初步看懂C++模板和弄清OLEDB的底层机制是两回事。如果真能看懂C++模板,你就能看懂Provider模板,自己来做 OLEDB provider。这里面的首要前提是你要清楚OLEDB的底层机制。
      

  7.   

    基本上把MSDN平台SDK上的Introduction to OLE DB看一遍,对OLEDB的结构,大致的接口就懂得差不多了,我觉得花个一两个星期把这部分看完,还是值得的。
    我是花了一个星期看完的,当然,那时候我正处在失业中,整天没事做,要是你很忙,可能就没这个耐性看了,哈哈。
      

  8.   

    to   coopie (小布丁) :
        MSDN里的Consumer模板例子以及SDK中OLEDB的例子还是不错的,如果走OLEDB的路的话,要学会DBSTATUS的用法,记住,模板只是简化了使用。三年前偶在这方面吃尽了苦头,祝你好运吧!
      

  9.   

    to   coopie (小布丁) :
    推荐给你的书清华大学出版社的《ADO 编程技术》 国内有Pierre Nallet 的  《OLE DB Consumer Templates A Programmer's Guide》
    要到国外买,这本书很牛的