我需要我的软件对Firebird数据库进行热备份。
使用gbak是这样做的官方方法。但是使用外部工具将迫使我度过麻烦,以确保该工具位于系统PATH中或确保我具有gbak.exe的实际位置。如果可能的话,我想避免这种情况。

所以,有没有做类似的选择

BACKUP DATABASE TO location_of_backup;


我正在使用Delphi XE4,Firebird 2.1和DBExpress,而不是在此处安装第三方的选项。

最佳答案

对于SQL,这是不可能的。

使用Delphi XE4,您可以使用IBExpress(TIBBackup)轻松进行备份。您不需要gbak.exe。

FireDac也可以做到这一点(TADIBBackup)。

ADIBBackup1.DriverLink := ADPhysIBDriverLink1;

ADIBBackup1.UserName := 'sysdba';
ADIBBackup1.Password := 'masterkey';
ADIBBackup1.Host := 'db_srv_host';
ADIBBackup1.Protocol := ipTCPIP;

ADIBBackup1.Database := 'e:\ib\addemo.fdb';
ADIBBackup1.BackupFiles.Add('e:\ib\addemo.backup');

ADIBBackup1.Backup;

09-11 18:43