![]() |
Datenbank: Firebird • Version: 2.1 • Zugriff über: ZEOS
Datenbank Backup mit Firebird
Hallo zusammen,
ich habe mal eine Grundlegende Frage zum Datenbank Backup einer Firebird DB. Momentan löse ich das über einen Aufruf einer Batch Datei, in der ich GBAK.exe bedienen. Dies hat allerdings den Nachteil, das ich das Datenbankkennwort in der Batch Datei jedem frei zugänglich zur Verfügung stelle. Hier habe ich verschieden Threads über das Backup gefunden, die allerdings mir noch keinen vernünpftige weg aufgezeigt haben. Es gibt wohl von Interbase eine Komponente zum Backup und Restore, allerdings da ich ZEOS einsetzen, wäre es natürlich schön dabei zu bleiben. Ich habe auch schon überlegt, ob ich die Batch Datei zyklisch erstellen lasse, diese dann ausführe und anschließend wieder lösche. Allerdings scheint mir das auch irgendwie unlogisch. Vieleicht könnt Ihr mir ja einen Hinweis oder eine sinnvolle Möglichkeit nennen, die Datenbank täglich über Delphi sichern zu lassen. Gruß Jens |
AW: Datenbank Backup mit Firebird
Idee: man könnte für das Backup einen anderen Benutzer (als Owner der Datenbank) in Firebird anlegen, der keine SQL Lese- etc. Rechte hat...
|
AW: Datenbank Backup mit Firebird
Wäre eine Möglichkeit,
wobei ich natürlich von dem Thema der Batchdatei nicht wegkomme. Gibt es nicht einen Möglichkeit z.B. über ShellExecute verschieden Daten an die cmd Eingabeaufforderung zu senden. So das man z.B. Passwort und Benutzer direkt aus Delphi senden würde. Also irgendwie so in dieser Richtung...
Delphi-Quellcode:
Gruß Jens
procedure Tform1.btnSaveTestClick(Sender: TObject);
var cmdString : String; begin cmdString := '/c dir C:\Programme\Firebird\Firebird_2_1\bin\gbak.exe '+ '-b -v -user SYSDBA -pas masterkey localhost:"C:\ProgramData\hu\db\MeineDB.fdb" '+ '"C:\ProgramData\hu\db\MeineDB.bak"'; ShellExecute(Handle,'open','cmd.exe',PAnsiChar(cmdString),nil,SW_SHOW); end; |
AW: Datenbank Backup mit Firebird
Zitat:
![]() Warum rufst du die gbak.exe nicht selber auf und umgehst somit die CMD? :gruebel: |
AW: Datenbank Backup mit Firebird
Hallo... :hi:
die UIB Komponenten haben Backup und Restore dabei. Das läßt sich leicht ins Programm integrieren. Das Batch Thema wäre dann vom Tisch. |
AW: Datenbank Backup mit Firebird
Das weiß ich,
allerdings wollte ich das eigenlich vermeiden, da ich damit mit einer zusätzlichen Komponente(außer ZEOS9 auf die DB zugreife. Ich weiß nicht ob das so gut kommt. Gruß Jens |
AW: Datenbank Backup mit Firebird
was sollte schief gehen ? Probieren geht über studieren...:zwinker:
|
AW: Datenbank Backup mit Firebird
Hallo Jens Hartmann,
hast Du IBExpert? Bis bald Chemiker |
AW: Datenbank Backup mit Firebird
Hallo Chemiker,
ja ich habe IBExpert. Warum? |
AW: Datenbank Backup mit Firebird
Hallo Jens Hartmann,
mit dem HK-Control-Center kannst Du auch Backups erstellen. Bis bald Chemiker |
AW: Datenbank Backup mit Firebird
Liste der Anhänge anzeigen (Anzahl: 1)
Ja, das ist schon klar. Ich würde das ganze aber gerne als Modul in meine Programm implementieren um dort dieses Backup einrichten zu können. So in etwa wie in dem unten angehangen Bild...
Trotzdem Danke und Gruß Jens |
AW: Datenbank Backup mit Firebird
Bei Zeos müsstest du dann diesen Dienst selber implementieren oder ein Batch erzeugen, welcher dann per geplanten Task ausgefüht wird
|
AW: Datenbank Backup mit Firebird
Hi,
ruf gbak einfach aus dem Programm heraus auf. Lass dir dabei das Log in eine Datei schreiben, die du mit deinem Programm nach dem Batch analysieren kannst (sonst bekommst Du nicht mit ob das Backup oder REstore funktioniert hat). gbak dann nicht aus dem FB-Ordner holen, sondern direkt neben deiner App in das Installationsverzeichnis legen. gbak dabei mit ShellExecuteEx aufrufen, das wartet bis gbak fertig ist.... einfachere Alternative wie schon angedeutet UIB installieren Grüße |
AW: Datenbank Backup mit Firebird
Hallo zusammen,
ich habe es jetzt mit TIBBackupService gelößt. Allerdings würde mich mal interesieren, ob das so OK ist. Ich habe in verschiedenen Threads von Problemen mit der Interbase Kompo gelesen. Hier mal meine Code...
Delphi-Quellcode:
Gruß Jens
procedure TfDBSave.btnSaveTestClick(Sender: TObject);
var FormCaption : string; begin try FormCaption := Caption; Caption:= 'Backup läuft !'; try with ibBackUpPSSecur do begin ServerName:= 'LOCALHOST'; Params.Add('user_name=SYSDBA'); Params.Add('password=masterkey'); LoginPrompt := False; Active:= True; try Verbose:= False; Options:= []; DataBaseName:= 'PSSecur'; BackupFile.Clear; BackupFile.Add(edtExeName.Text+'\PSSecurdat.bak'); ServiceStart; finally Active:= False; end; end; finally Caption:= FormCaption; end; finally ibBackUpPSSecur.Active := False; end; end; |
AW: Datenbank Backup mit Firebird
Diese Komponente ist eigentlich für Interbase. Deshalb könnte es sein, dass sie nicht so funktioniert wie gedacht bzw. irgendwann nicht mehr funktioniert
|
AW: Datenbank Backup mit Firebird
Da ich mir im Moment auch keine teuren Spezial-Zugriffskomponenten leisten kann, bin ich auf UIB umgestiegen. Mit den Kompos funktioniert es jedenfalls bislang ohne Probleme. Alternativ könnte man auch FBLIB ins Auge fassen.
|
AW: Datenbank Backup mit Firebird
Das heißt also, das ich besser mit z.B. FIBPlus etc. arbeiten würde, welche jedoch kostenplichtig sind. Allerdings ist die Frage, ob es wirklich notwendig ist eine kostenpflichtige Kompo einzusetzen, wennn das Backup nicht unbedingt sehr wichtig ist?
Gruß Jens |
AW: Datenbank Backup mit Firebird
Die beiden von mir genannten sind kostenlos.
|
AW: Datenbank Backup mit Firebird
Und für den Backup kannst du ja gbak/nbak direkt aufrufen
|
AW: Datenbank Backup mit Firebird
Danke Deddy,
die werde ich mal testen. Zitat:
Gruß Jens |
AW: Datenbank Backup mit Firebird
Ich habe jetzt nicht genau nachgesehen, aber die Komponenten setzen AFAIK auch alle auf gbak auf (ich kann mich aber auch irren).
|
AW: Datenbank Backup mit Firebird
gbak/nbak sind ja Teil der FireBird Distribution. Notfalls liefere es halt mit.
|
AW: Datenbank Backup mit Firebird
Zitat:
Zitat:
Gruß Jens |
AW: Datenbank Backup mit Firebird
Noch sind FireBird und Interbase ja noch recht ähnlich ( beide haben eine rückwärtskompatible API zu IB 6). Es kann dir aber niemnad garantieren, ob das so bleibt
|
AW: Datenbank Backup mit Firebird
Das ist wohl war. Allerdings weiß ich zur Zeit eh noch nicht so richtig wie ich mit meinem Programm weiter machen werde. Zur Zeit denke ich z.B. über eine Weboberfläche nach etc. Und dann werde ich vermutlich die DB eh neu aufsetzen müssen.
Allerdings würde mich das mit dem Alias mal interesieren. Gruß Jens |
AW: Datenbank Backup mit Firebird
GBak greift ja auch auf den Server zu und der kennt die Alias.conf.
Warum musst du die DB wegen einer Weboberfläche neu aufsetzen? |
AW: Datenbank Backup mit Firebird
Das weiß ich noch nicht. Ich denke das ich in der vorhandenen DB eineige Fehler gemacht habe. Da ich aber zur Zeit keine Delphi.Net besitze und mich eventuell mit Visuall WebDeveloper beschäftigen will, um die Weboberfläche zu erstellen, kann es halt sein, das ich die DB in irgendeiner Art und Weise die DB anpassen bzw. neu aufbauen werde.
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:48 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