Hallo Freiwilderer,
tut mir leid das ich jetzt erst jetzt Zeit gefunden habe Dir zu antworten, bin zur Zeit dabei mich in C# einzuarbeiten.
Das die Datei kleiner wird ist ja durchaus möglich, weil die Datenbank ja aufgeräumt wird und die Datensätze die gelöscht sind auch tatsächlich gelöscht werden. Ob die ganze Aktion funktioniert hat, kann man ja sehen wenn man nach dem BackUp ein Restore durchführt.
Ich habe mir ein kleines Programm geschrieben und mit den beiden Befehlen etwas zu spielen, was allerdings noch nicht eingearbeitet worden ist, ist der automatische Test ob das Backup auf in alle Einzelheiten auch richtig durchgeführt worden ist.
So sieht der Quelltext für das Backup aus:
Delphi-Quellcode:
procedure TForm3.btAktionAusfuehrenClick(Sender: TObject);
begin
with pFIBBackupService1
do
begin
BackupFile.Clear;
Params.Clear;
ServerName:= '
localhost';
LoginPrompt:= FALSE;
Params.Add('
user_name=sysdba');
Params.Add('
password=masterkey');
Active:= TRUE;
try
Verbose := True;
Options:= [IgnoreLimbo,NonTransportable];
DatabaseName:= FFBDBOriginal;
BackupFile.Add(FFBDBCopy);
ServiceStart;
while not EOF
do
begin
MemoAktionenAnzeigen.Lines.Add(GETNextLine);
end;
finally
Active:= FALSE;
end;
end;
end;
Und so für das Restore:
Delphi-Quellcode:
procedure TForm3.Button3Click(Sender: TObject);
begin
with pFIBRestoreService1
do
begin
ServerName:= '
localhost';
LoginPrompt:= FALSE;
Params.Add('
user_name=sysdba');
Params.Add('
password=masterkey');
Active:= TRUE;
try
Verbose := True;
Options := [Replace, UseAllSpace];
PageBuffers := 3000;
PageSize := 4096;
BackupFile.Add(FFBDBCopy);
DatabaseName.Add(FFBDBOriginal);
ServiceStart;
while not EOF
do
begin
MemoAktionenAnzeigen.Lines.Add(GETNextLine);
end;
finally
Active := False;
end;
end;
end;
Soweit funktioniert das auch, aber bitte nicht mit der original Datenbank durchführen sonder eine Test Datenbank anlegen und selber testen. In der Hilfe von FIBPlus ist auch einiges beschrieben, man muss leider sich das nur mühselig zusammensuchen.
Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.