![]() |
Firebird Datenbankbackup wieder herstellen
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:
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:
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;
Code:
Die Datenbank-datei hat aber eine realsitische größe.
Database xxx shutdown
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 |
Re: Firebird Datenbankbackup wieder herstellen
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:
Warum sicherst Du nicht mit gbak ? Das läßt sich auch prima aus dem Taskplaner von Windows starten.
gfix -online -user sysdba -pass <kennwort> <server>:<datenbank>
Gruß, Marcel |
Re: Firebird Datenbankbackup wieder herstellen
Zitat:
[EDIT] mit 1.0 Rest muß ich :P testen !! |
Re: Firebird Datenbankbackup wieder herstellen
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?
|
Re: Firebird Datenbankbackup wieder herstellen
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. :mrgreen:
|
Re: Firebird Datenbankbackup wieder herstellen
oki, dafür kann ich doch die Interbase-Version von der Delphi 7 CD nehmen oder? Habe damit noch nie gearbeitet!
|
Re: Firebird Datenbankbackup wieder herstellen
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 :?:
|
Re: Firebird Datenbankbackup wieder herstellen
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!
|
Re: Firebird Datenbankbackup wieder herstellen
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
SQL-Code:
CREATE DOMAIN UMLAUT AS CHAR(1) DEFAUTL 'ä' NOT NULL COLLATE DE_DE
|
Re: Firebird Datenbankbackup wieder herstellen
Zitat:
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; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:09 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