我将编译好的利用ADO连接数据库的RELEASE放到另一台有VS的电脑上运行。为何总是显示连接数据库错误。就是连接不上

解决方案 »

  1.   

    你通过DSN连接的 还是 通过连接字符串来连接的?
      

  2.   

    con.CreateInstance(__uuidof(Connection));
    try
    {
    con->Open("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=stock.accdb","","",adModeUnknown);
    }
    catch(_com_error e)
    {
    MessageBox(e.ErrorMessage());
    }
    就是这段不对啊。。求拯救
      

  3.   

    Data Source=stock.accdb用绝对路径,否则很容易出错
      

  4.   

    #include<windows.h>
    #import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
    int WINAPI WinMain(HINSTANCE hInstance,
                       HINSTANCE hPrevInstance,
                       LPSTR lpCmdLine,
                       int iCmdShow)
    {
        _ConnectionPtr m_pConnection;
        _RecordsetPtr m_pRecordset;
        BOOL m_fConnected;
        
        HRESULT hr;
        _bstr_t source("Driver={SQL Server};Server=LONELYLONG;Uid=sa;Pwd=;Database=pubs");    CoInitialize(NULL);
        
        try{
        
            hr=m_pConnection.CreateInstance(__uuidof(Connection));
            if(SUCCEEDED(hr))
                hr=m_pConnection->Open(source,"","",16);
            if(SUCCEEDED(hr))
                hr=m_pRecordset.CreateInstance(__uuidof(Recordset));
            if(SUCCEEDED(hr))
                m_fConnected=TRUE;
            else
                m_fConnected=FALSE;
            }
        catch(_com_error &e){
        //    MessageBox(NULL,e.ErrorMessage(),"error",NULL);
            m_fConnected=FALSE;
        }
        if(!m_fConnected)
            MessageBox(NULL,"ADO 数据源初始化失败!","error",NULL);
        else
            MessageBox(NULL,"SUCCESS!","OK",NULL);//    if(m_pConnection->State)
    //        m_pConnection->Close();return 0;
    }
      

  5.   

    con->Open("Microsoft.Jet.OLEDB.4.0;Data;Data Source=绝对路径\stock.mdb","","",adModeUnknown);
      

  6.   

    ODBC驱动应该不兼容吧,可能是
      

  7.   

    或者你可以升级ODBC驱动,然后用2007