AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Firebird Backup/Restore mit FIBPlus
Thema durchsuchen
Ansicht
Themen-Optionen

Firebird Backup/Restore mit FIBPlus

Ein Thema von Chemiker · begonnen am 28. Jun 2009 · letzter Beitrag vom 4. Dez 2010
 
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#18

Re: Firebird Backup/Restore mit FIBPlus

  Alt 23. Jul 2009, 20:10
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.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz