Announcement

Collapse
No announcement yet.

Restore bricht ab, wo soll der Schalter -R hin?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Restore bricht ab, wo soll der Schalter -R hin?

    Hi,
    bin neu auf diesem Gebiet (Delphi Prof.2006 InterBase 7.5 IBBackupService IBRestoreService) und hab mir eine Funktion in mein Prog. eingebaut um die InterBase Datenbank zu sichern :

    with DataModule1.IBBackupService1 do begin
    PDJXPMemo1.Lines.Clear;
    PDJXPMemo1.Lines.Add('Ihre Datenbank wird gesichert.... Los!');
    PDJXPMemo1.Lines.Add(' ');
    Params.Add('user_name=misterX');
    Params.Add('password=test');
    BackupFile.Clear;
    BackupFile.Add(AdvLUEdit2.Text+'\AQUA_'+neue_endun g+'.gbk');
    DatabaseName := AdvLUEdit1.Text;
    Active := True;
    Verbose := True;
    ServiceStart;
    while not Eof do begin
    PDJXPMemo1.Lines.Add(GetNextLine);
    Application.ProcessMessages;
    end;
    Active := False;
    end;

    Es klappt wunderbar, der User kann die Datenbank und den Sicherungsort auswählen. Fertig!

    Beim Restore klappt es gar nicht:

    with DataModule1.IBRestoreService1 do begin

    PDJXPMemo1.Lines.Clear;
    PDJXPMemo1.Lines.Add('Ihre Datenbank wird wiederhergestellt.... Los!');
    PDJXPMemo1.Lines.Add(' ');
    Params.Add('user_name=misterX');
    Params.Add('password=test');
    BackupFile.Clear;
    BackupFile.Add(AdvLUEdit3.Text);
    DatabaseName.Add(AdvLUEdit1.Text);
    Active := True;
    Verbose := True;
    ServiceStart;
    while not Eof do begin
    PDJXPMemo1.Lines.Add(GetNextLine);
    Application.ProcessMessages;
    end;
    Active := False;

    Bekomme eine Meldung: Datenbabk existiert und um sie zu ersetzen soll ich einen -R schalter benutzen..... aber WIE und WO???

    Gibt es irgendo Beispiele für diese Vorgänge oder Beschreibung der Optionen/TraceFlags bei den Komponenten, Delphi war mir da keine Hilfe.

    Andreas Bremer

  • #2
    Die Komponente wrappt nbak. -R ist eine Option dieses Tools.
    Versuch mal
    Code:
    Options     := [Replace];

    Comment


    • #3
      Hallo,

      nicht nbak sondern gbak. Ich würde mir gut überlegen, ob Du das Datenbankfile wirklich überschreiben willst. Geht beim Restore irgendetwas schief, dann ist das resultierende DB-File nicht verwendbar und du stehst dann vielleicht komplett ohne Datenbank da.



      Thomas
      Thomas Steinmaurer

      Firebird Foundation Committee Member
      Upscene Productions - Database Tools for Developers
      Mein Blog

      Comment


      • #4
        Hallo, danke für eure hilfe!
        Wie soll ich dann am besten meine Datenbank sicher? einfach woanders kopieren und im notfall zurückkopieren?

        Andreas

        Comment


        • #5
          Hallo Andreas,

          ich mach es in der Regel so, dass ich ein Backup der Datenbank erstelle und das resultierende File (.fbk) in ein Verzeichnis gebe, das unterschiedlich zu dem Verzeichnis ist, wo sich die Live-Datenbank befindet. Im selben Atemzug mach ich im Anschluß ein Restore des Backups (um zu überprüfen, ob das Backup im Fall der Falle funktionstüchtig ist), wobei sich die zurückgesicherte Datenbankdatei (.fdb) im selben Verzeichnis wie die Backup-Datei befindet.

          Ob Du dann das Backup-File und die zurückgesicherte DB z.b. auf Band oder andere Festplatte sicherst ist Geschmackssache. Hängt vermutlich auch davon ab, welche Größen Deine DBs haben.

          Auf jeden Fall NIEMALS die Live-DB, wenn aktive Connections drauf sind, direkt mit ZIP, Band, usw ... sichern. Darum auch NIEMALS den Ordner mit der Live-DB im Netzwerk freigeben. ;-)


          lg,
          Thomas
          Thomas Steinmaurer

          Firebird Foundation Committee Member
          Upscene Productions - Database Tools for Developers
          Mein Blog

          Comment

          Working...
          X