Das Problem ist, was will ich in der Software optimieren?
So wird ein Backup ausgeführt:
Delphi-Quellcode:
Function Backup_Ausfuerhen(BackSer : TIBBackupservice;DBFile,BackupFile1 :
String; Memo1 : TMemo;ProtocolGes1 : TProtocol;ServName :
String;Pan : TPanel;MSG,Garb : Boolean) : Boolean;
Var i : Integer;
ok : Boolean;
//Anz : String;
//Fo : TForm;
Begin
//Fo := NIL;
if Memo1 <>
NIL then
Begin
//if Memo1.Owner IS TFOrm then Fo := TForm(Memo1.Owner);
Memo1.Font.Size := 8;
end;
BackupFile1 := Copy(DBFile,1,Length(DBFile)-4)+'
_Backup.gbk';
i := 0;
with BackSer
do
begin
if Pan <>
NIL then
Begin
Pan.Visible := true;
Pan.caption := '
Backup wird ausgeführt';
Pan.Refresh;
end;
Params.Clear;
Params.Add('
user_name='+G_DB_user);
Params.Add('
password='+G_DB_kw);
Protocol := ProtocolGes1;
ServerName := ServName;
Verbose := True;
if Garb = true
then Options := []
else Options := [NoGarbageCollection];
//Options := [NoGarbageCollection];
DatabaseName := DBFile;
// ersetzen
LoginPrompt := False;
Active := True;
BackupFile.Clear;
BackupFile.Add(BackupFile1);
if Memo1 <>
nil then Memo1.Lines.Clear;
try
ServiceStart;
ok := True;
except
on E:
exception do
Begin
if MSG
then Showmessage(e.
Message);
FehlerProtokollSchreiben(13,[e.
Message],[],[]);
// Fehler beim Backup
ok := False;
end;
end;
if ok = true
then
begin
try
While not Eof
do
Begin
INC(i);
if Memo1 <>
nil then Memo1.Lines.Add(AuffuellenAufN(X(i),4)+'
: '+GetNextLine);
Application.ProcessMessages;
end;
ok := True;
except
on E:
exception do
Begin
if MSG
then Showmessage(e.
Message);
FehlerProtokollSchreiben(13,[e.
Message],[],[]);
// Fehler beim Backup
ok := False;
end;
end;
end;
try
PfadPruefUAnleg(G_Path + Log_Datei_BackUp_Restore(1));
if Memo1 <>
nil then Memo1.Lines.SaveToFile(G_Path + Log_Datei_BackUp_Restore(1));
except
end;
if Memo1 <>
nil then Memo1.Lines.clear;
Active := False;
if Pan <>
nil then
Begin
Pan.caption := '
Backup wurde ausgeführt';
Pan.Refresh;
end;
end;
result := ok;
end;
Sicherlich könnte man durch bessere Hardware nochmal Zeit rausholen aber an der Grundsätzlichen Programierung kann ich nicht viel ändern. oder Seht ihr in den Text noch was was ich anderes machen könnete?
Das Problem ist halt, das das Handling besser werden soll --> und das geht nur mit ner Kleineren
DB.
Sicherlich ist aber der Ansatz, das ich die Daten die ich nicht immer brauche archiviere ganz ok.
Ich hab auf meinem Schreibtisch ja auch nicht die Akten der letzten 10 Jahre.