_ConnectionPtr m_pConnection;
............
m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.mdb","","",adModeUnknown);
最后一个参数只有设置成adModeUnknown才能连上数据库
而其他的象adModeRead.adModeWrite.adModeReadWrite
adModeShareDenyRead
adModeShareDenyWrite
adModeShareExclusive
adModeShareDenyNone
都报错连不上数据库。
不知道是什么原因!

解决方案 »

  1.   

    可能和数据库类型,还有是否当时打开了该数据库
    通常我都设为NULL try
    {
    hr = m_pConnection->Open(_bstr_t(m_strConnection), "", "", NULL);
    return hr == S_OK;
    }
    catch(_com_error &e)
    {
    dump_com_error(e);
    }
      

  2.   

    可是那样会有一个临时文件产生,而我做的东西最后要写进光盘,不允许有这个临时文件,所以我只能用adModeRead或adModeShareDenyRead
    等打开咯!
      

  3.   

    Microsoft.Jet.OLEDB.4.0 有点问题。这儿有相关的讨论:
    http://www.csdn.net/expert/topic/1008/1008969.xml?temp=.9603693