AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Firebird Datenbankbackup wieder herstellen
Thema durchsuchen
Ansicht
Themen-Optionen

Firebird Datenbankbackup wieder herstellen

Ein Thema von theomega · begonnen am 10. Jun 2004 · letzter Beitrag vom 11. Jun 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von theomega
theomega

Registriert seit: 18. Jun 2002
684 Beiträge
 
#1

Firebird Datenbankbackup wieder herstellen

  Alt 10. Jun 2004, 21:40
Hallo Leute,
gerade versuche ich verzweifelt ein Datenbank-Backup wiederherzustellen. Gebackupt habe ich über den Komponenten TIBBackupService (Standart von Delphi 7 Enterprise) via diesem Code:
Delphi-Quellcode:
bkresmain := TIBRestoreService.Create(nil);

bkmain.DatabaseName := ini.ReadString('database','databasename','');
bkmain.Params.Text := 'password='+ini.ReadString('database','password','')+#10#13+
'user_name='+ini.ReadString('database','user_name','');
bkmain.BackupFile.Add(ini.ReadString('backup','path','')+'\'+floattostr(now)+'.bak');
bkmain.LoginPrompt := false;


bkmain.Active := true;
bkmain.ServiceStart;
bkmain.Active := false;
das hat auch immer funktioniert und ich will jetzt genau eine von den Backups wiederherstellen. Also habe ich mit dem IBExpert (extra-software) das Backup wiederhergestellt. Es ensteht dann auch wieder eine Datenbank-Datei nur kann ich diese nicht lesen, weil Firebird/IBExpert den Fehler meldet:

Code:
Database xxx shutdown
Die Datenbank-datei hat aber eine realsitische größe.

Hat jemand eine Idee wie ich doch wieder an meine Dateien kommen könnte. Eine Fehlerursache könnte sein: evtl ist TIBBackupService nicht mit Firebird 1.5 kompatible.

WEr hat mir eine Idee?

Danke und Grüße
TO
  Mit Zitat antworten Zitat
Benutzerbild von Marcel Gascoyne
Marcel Gascoyne

Registriert seit: 18. Nov 2003
Ort: Uetersen
271 Beiträge
 
Delphi 2005 Architect
 
#2

Re: Firebird Datenbankbackup wieder herstellen

  Alt 10. Jun 2004, 22:11
Da ist wohl die Datenbank offline geschaltet. Könnte an Deinem Tool liegen. Mit dem Kommandozeilentool gfix kannst Du die Datenbank wieder online schalten:

Code:
gfix -online -user sysdba -pass <kennwort> <server>:<datenbank>
Warum sicherst Du nicht mit gbak ? Das läßt sich auch prima aus dem Taskplaner von Windows starten.

Gruß,
Marcel
Marcel Gascoyne
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#3

Re: Firebird Datenbankbackup wieder herstellen

  Alt 10. Jun 2004, 23:03
Zitat von theomega:
evtl. ist TIBBackupService nicht mit Firebird 1.5 kompatible.
So siehts fast aus. Und das wurde vor 2 Jahren auch so angekündigt. IBX unterstützt aus kommerziellen Gründen kein Firebird. Ich könnte Dir den Source für ein Backup mit FIBplus schicken. Das geht.

[EDIT] mit 1.0 Rest muß ich testen !!
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von theomega
theomega

Registriert seit: 18. Jun 2002
684 Beiträge
 
#4

Re: Firebird Datenbankbackup wieder herstellen

  Alt 11. Jun 2004, 12:10
hm, bringt mir jetzt dummerweise wenig, weil ich an das Backup dranmuß! Würde es was bringen einen Interbase-Server drauszumachen und dann in eine IB-datenbank wiederherzustellen?
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#5

Re: Firebird Datenbankbackup wieder herstellen

  Alt 11. Jun 2004, 12:39
Das wäre wohl die logische Konsequenz. Geht das Backup dann, so war es tatsächlich eine Inkompatibilität. Falls es immer noch nicht geht, so liegt es an Deinem Programm.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von theomega
theomega

Registriert seit: 18. Jun 2002
684 Beiträge
 
#6

Re: Firebird Datenbankbackup wieder herstellen

  Alt 11. Jun 2004, 12:41
oki, dafür kann ich doch die Interbase-Version von der Delphi 7 CD nehmen oder? Habe damit noch nie gearbeitet!
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#7

Re: Firebird Datenbankbackup wieder herstellen

  Alt 11. Jun 2004, 12:46
Klar geht die, aber wieso muß das überhaupt mit einem Delphi-Prog restored werden ?? Warum verwendest du nicht erst mal IBexpert, um zu sehen was Sache ist
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von theomega
theomega

Registriert seit: 18. Jun 2002
684 Beiträge
 
#8

Re: Firebird Datenbankbackup wieder herstellen

  Alt 11. Jun 2004, 12:49
mach ich doch auch, oder kommt das nicht klar oben raus ? *G* Der IBExpert resort es auch richtig nur bekomm ich die datenbank nacher nichtmehr geöffnet!
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#9

Re: Firebird Datenbankbackup wieder herstellen

  Alt 11. Jun 2004, 12:55
Hallo theomega,
ich verwende ebenfalls der Firebird Server unter WinXP SP1.^
Ich habe die Version 1.5.0.4201 Firebird 1.5 Release Candidate.

Mit Delphi 7 SP 1.1 habe ich gereade ein kleines Testprogramm mit den
Komponenten TIBBackupService und TIBRestoreService gebastelt.
Ich verwende die original D7 IBX-Komponenten (d.h. ohne Update).
Die Datenbank habe ich ebenfalls unter dem Firebird erstellt.
Mit der IBOConsole von L Mengoni Version 1.1.9.6

Es funktioniert einwandfrei. Kann es sein, dass Dein Problem an einer anderen Stelle liegt?

Im Buch "Interbase Datenbankentwicklung mit Delphi" von A. Kosch habe folgendes gelesen:
Ein erfolgreiches BackUp schleißt ein erfolgreiches Restore NICHT mit ein.
Das trifft zum Beispiel zu, wenn man irgendwelche Sonderzeichen (auch deutsche Umlaute) in
Domains, Trigger oder Stored procedures verwendet.
Folgendes Beispiel läßt ein erfolgreiches BackUp zu. Ein Restore schlägt jedoch fehl

CREATE DOMAIN UMLAUT AS CHAR(1) DEFAUTL 'äNOT NULL COLLATE DE_DE
I come from outer space to save the human race
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#10

Re: Firebird Datenbankbackup wieder herstellen

  Alt 11. Jun 2004, 13:03
Zitat von theomega:
...Gebackupt habe ich über den Komponenten TIBBackupService (Standart von Delphi 7 Enterprise) via diesem Code:

... Eine Fehlerursache könnte sein: evtl ist TIBBackupService nicht mit Firebird 1.5 kompatible.
Mann o Mann,

TIBBackupService ist IBX. Also die DB-Zugriffskomponenten von Borland. Die werden einen Teufel tun, ihre Konkurrenz zu stärken. 8) Mit FB 1.0 gabs damit schon Ärger. Mit FB 1.5 traue ich mich damit an eine DB nicht mehr dran. Ich kann nur sagen, daß es mit FIBplus als Ersatz für IBX immer funktioniert hat. Und zwar so :

Delphi-Quellcode:
procedure TfrmBackup.Button1Click(Sender: TObject);
begin
  CloseB.Enabled := False;
  StatusBox.Lines.Clear;
  with pFIBBackupService1 do begin
    ServerName := ServerE.Text;
    LoginPrompt := False;
    Params.Add('user_name='+UserE.Text);
    Params.Add('password='+PasswordE.Text);
    Active := True;
    try
      Verbose := True;
      Options := [NonTransportable, IgnoreLimbo];
      DatabaseName := DBNameE.Text;
      BackupFile.Clear;
      BackupFile.Add(BackupE.Text);
      ServiceStart;
    finally
      Active := False;
      ShowMessage ('lokale Datensicherung beendet !'#10#13'Die Daten sollten aber noch auf ein externes Medium kopiert werden!');
    end;
  end;
  CloseB.Enabled := True;
end;
Gruß
Hansa
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 21:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz