Retomo este hilo porque no sé por qué está volviendo a fallar. Tengo este código:
Código:
GesInt->Connected = false;
ShellExecute(NULL, "open", AnsiString("C:\Program Files\Firebird\Firebird_2_5\bin\gfix.exe -force").c_str(), "", "", SW_HIDE);
Restore->LoginPrompt = false;
Restore->Params->Add("user_name=sysdba");
Restore->Params->Add("password=masterkey");
Restore->BackupFile->Add(cAux);
Restore->DatabaseName->Add(GesInt->DatabaseName);
Restore->Active = true;
Restore->ServiceStart();
while (Restore->IsServiceRunning)
Memo1->Lines->Add(Restore->GetNextLine());
Restore->Active = false;
GesInt->Connected = true;
Otra vez me vuelve a dar el mensaje que la base de datos está en uso cuando se ejecuta por primera vez el bucle while y no tengo ni idea de por donde coger el error. El parámetro force de gfix lo he tomado de los mensajes de la propia herramienta:
Cita:
-force force database shutdown
|