Firebird Backup mit Hilfe einer .bat Datei.
Code:
REM http://www.destructor.de/firebird/gbak.htm
REM ------------------------------------------
REM evtl. bestehende LOG Datei löschen
del "C:\ProgramData\Anwendungsverzeichnis\backup\database.log"
REM Backup starten
"C:\ProgramData\Anwendungsverzeichnis\backup\gbak.exe" -v -t -user sysdba -password masterkey -y "C:\ProgramData\Anwendungsverzeichnis\backup\database.log" "K:\Ordnername\Programmbezeichnung\
Win32\Debug\Database.fdb" "C:\ProgramData\Anwendungsverzeichnis\backup\BACKUP.fbk"
REM DOS Fenster nicht schließen
PAUSE
Aus dem Programm heraus die Datenbank vom Server als Backup sichern, sowie die lokale Datenbank aus dem Programm EXE Verzeichnis.
Delphi-Quellcode:
var
BackupDirectory, Quelle, Ziel, Parameter :
String;
begin
BackupDirectory := '
C:\ProgramData\Anwendungsverzeichnis\backup\';
with SaveDialog
do
begin
FileName := '
backup';
Filter := '
database (*.fbk)|*.fbk';
DefaultExt := '
*.fbk';
InitialDir := BackupDirectory;
end;
Ziel := '
"' + SaveDialog.FileName + '
"';
if Datenmodul.UniConnection.Server <> '
'
// bei der lokalen DB ist der Server Eintrag leer
then Quelle := '
"' + Datenmodul.UniConnection.Server + '
:' + Datenmodul.UniConnection.Database + '
"'
else Quelle := '
"' + ExtractFilePath(ParamStr(0)) + '
Database.fdb' + '
"';
Parameter := '
-v -t -user sysdba -password masterkey '+ Quelle +'
'+ Ziel;
ShellExecute(0,
nil,PChar(BackupDirectory + '
gbak.exe'),PChar(Parameter),
nil,SW_SHOW);
end;
Das funktioniert 'jetzt'. Erst wollte ich eine andere Frage stellen.
Im Verzeichnis ...\ProgramData\Anwendungsverzeichnis\backup\ Ordner befindet sich die
gbak.exe, zusätzlich hatte ich dort die '
fbclient.dll' mit drinnen damit hat der lokale Backup nicht funktioniert, jetzt habe ich die '
gds32.dll' reinkopiert und alles klappt wunderbar.
Meine Frage jetzt: Gibt es eine Übersicht wann die 'fbclient.dll' & wann die 'gds32.dll' genommen werden sollte oder sollte ich generell einfach beide Dateien in den Ordner packen?
PS: Zusätzlich läuft local auch noch ein Firebird Server als Dienst.