Absturtzt bei CDatabase::BeginTrans



  • Moin Leutz,
    bei mir bricht immer alles zusammen wenn ich zum zweiten mal BeginTrans() und der Server nicht da war. Wie kann ich kontrollieren ob der Server noch da ist?

    Mein Code (ich dachte er wäre gut*gr*):

    try
        {
            if(!m_Database.IsOpen()) return(false);
            m_Database.Cancel();
            if(!m_Database.CanTransact()) return(false);
            if(!m_Database.BeginTrans()) return(false); // hier kommt er auch hin wenn kein server da ist
            if(!SafeExecuteSQL("SET AUTOCOMMIT = 0")) return(false);
        }
        catch(CDBException *pEx)
        {
            pEx->ReportError();
            return(false);
        }
    

    Gibt es nicht soetwas wie CDatabase::Ping || CDatebase:CheckConnection.

    MfG



  • Hallo !

    Liegt das Problem evtl. hier ?

    ...wenn ich zum zweiten mal BeginTrans()...

    Aus der MSDN:
    ! WARNING Calling BeginTrans again without calling CommitTrans or Rollback is an error.

    Noch was:
    ich bin mir jetzt nicht ganz sicher, aber sollte BeginTrans() nicht VOR dem Öffnen aufgerufen werden ?

    Tschüss


Anmelden zum Antworten