Announcement

Collapse
No announcement yet.

[D5, IB6] Probleme mit IBBackupService

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

  • [D5, IB6] Probleme mit IBBackupService

    Hallo Ihr Wissenden,

    ich versuche mittles o.g. Komponente meine DB zu "Backupen". Die Parameter werden zur Laufzeit gesetzt:
    <PRE>
    with IBBackupService1 do
    begin
    ServerName := 'Win2kServer';
    Protocol := TCP;
    LoginPrompt := False;
    Params.Add('user_name=sysdba');
    Params.Add('password=masterkey');
    DatabaseName := DM.CurrentDB;
    Verbose := True;
    Active := True;
    BackupFile.Add('c:\temp\test1.gbk');
    Try
    ServiceStart;
    .......
    </PRE>

    Jedesmal wenn ich das Backup aufrufe, erscheint die Meldung: "Error reading data from the connection". Das Backup-File wird angelegt, ist jedesmal 132k groß, aber unbrauchbar. Der IB-Server läuft auf Win2K.
    Die Options der Komponente habe ich auch schon alle durchprobiert.
    Kennt jemand dieses Phänomen??

    Herzlichen Dank

    Silvia

  • #2
    Hallo,

    das folgende Beispiel demonstriert das Anlegen eines Backups. Wichtig ist das regelmässige Aufrufen von Application.ProcessMessages:
    <pre>
    procedure TForm1.ButtonBackupClick(Sender: TObject);
    begin
    StatusBar1.SimpleText := 'Backup läuft....';
    with IBBackupService1 do
    begin
    Active := True;
    Verbose := True;
    BackupFile.Add(EditGBK.Text);
    DatabaseName := EditGDB.Text;
    ServiceStart;
    while not Eof do
    begin
    MemoLog.Lines.Add(GetNextLine);
    Application.ProcessMessages;
    end;
    Active := False;
    end;
    StatusBar1.SimpleText := '';
    end;
    </pre>
    Konfiguration im Objektinspektor:
    <pre>
    object IBBackupService1: TIBBackupService
    TraceFlags = []
    BlockingFactor = 0
    Options = []
    Left = 328
    Top = 16
    end
    </pre&gt

    Comment


    • #3
      Was mache ich falsch?

      Hallo Andreas,
      deine Procedure funktioniert, mein Problem ist, wenn ich sie ein zweites Mal ausführen lasse, gibt es eine Fehlermeldung und die alte Backupdatei wird gelöscht.

      Viele Grüsse
      cugar

      neue_endung := DateToStr(Date)+'_'+TimeToStr(Time);
      neue_endung := StringReplace(neue_endung, '.', '', [rfReplaceAll]);
      neue_endung := StringReplace(neue_endung, ':', '', [rfReplaceAll]);

      try
      with DataModule1.IBBackupService1 do begin
      MemoLog.Lines.Clear;
      MemoLog.Lines.Add('Ihre Datenbank wird gesichert.... Los!');
      MemoLog.Lines.Add(' ');
      BackupFile.Add(verz+'\DataBase\Backup\AQUA_'+neue_ endung);
      DatabaseName:=verz+'\DataBase\AQUA.GDB';
      Active := True;
      Verbose := True;
      ServiceStart;
      while not Eof do begin
      MemoLog.Lines.Add(GetNextLine);
      Application.ProcessMessages;
      end;
      Active := False;
      end;
      except
      MessageDlg('Die Sicherungsdatei (Backup) konnte nicht angelegt werden!',mtError,[mbOK],0);
      Exit;
      end;

      Comment


      • #4
        Problem gelöst, es fehlt:
        BackupFile.Clear;

        Comment

        Working...
        X