[ smjesko @ 14.05.2004. 19:18 ] @
Eh ovako, nakon ove procedure backupa: procedure TMainForm.BekapExecute(Sender: TObject); begin dm.IBDatabase1.Close; try if fileexists(ChangeFileExt(dm.IBDatabase1.DatabaseName,'.bak')) then deletefile(pchar(ChangeFileExt(dm.IBDatabase1.DatabaseName,'.bak'))); if fileexists(ChangeFileExt(dm.IBDatabase1.DatabaseName,'.gbk')) then RenameFile(ChangeFileExt(dm.IBDatabase1.DatabaseName,'.gbk'),ChangeFileExt(dm.IBDatabase1.DatabaseName,'.bak')); statusbar1.Panels[4].Text:='Try Shutdown Database';Application.ProcessMessages; if not(execAndWait(FireBirdPath+'gfix.exe',' -shut -attach 30 '+'"'+dm.IBDatabase1.DatabaseName+'" -user SYSDBA -pass '+dm.IBDatabase1.Params.Values['password'],false)) then RAISE Exception.Create('shutdown'); statusbar1.Panels[4].Text:='Try stop Firebird server';Application.ProcessMessages; if isNT then if not(execAndWait(SystemPath+'NET.exe',' STOP InterbaseServer',false)) then RAISE Exception.Create('stop interbase'); statusbar1.Panels[4].Text:='Try (re) start Interbase guardian';Application.ProcessMessages; if isNT then if not(execAndWait(SystemPath+'NET.exe',' START InterbaseGuardian',false)) then RAISE Exception.Create('start guardian'); statusbar1.Panels[4].Text:='Backup Database ...';Application.ProcessMessages; sleep(1000); // showmessage(' -B -t '+' -user SYSDBA -pass '+dm.IBDatabase1.Params.Values['password']+' "'+dm.IBDatabase1.DatabaseName+'"'+' "'+ChangeFileExt(dm.IBDatabase1.DatabaseName,'.gbk')+'"'); if not(execAndWait(FireBirdPath+'gbak.exe',' -B -t '+' -user SYSDBA -pass '+dm.IBDatabase1.Params.Values['password']+' "'+dm.IBDatabase1.DatabaseName+'"'+' "'+ChangeFileExt(dm.IBDatabase1.DatabaseName,'.gbk')+'"',false)) then RAISE Exception.Create('backup'); statusbar1.Panels[4].Text:='Try bring database online ...';Application.ProcessMessages; if not(execAndWait(FireBirdPath+'gfix.exe',' -online '+'"'+dm.IBDatabase1.DatabaseName+'" -user SYSDBA -pass '+dm.IBDatabase1.Params.Values['password'],false)) then RAISE Exception.Create('online'); statusbar1.Panels[4].Text:='BACKUP OPERATION COMPLETED';Application.ProcessMessages; QControls.Beep; finally dm.IBDatabase1.open; dm.CommitAndOpen; end; koju dobro izvrsi samo hocu jos da taj file npr. kasa.gbk iskopira na floppy koju liniju coda da dodam?!?!?!? |