FierDACのTFDFBNBackupコンポーネントでFirebirdデータベースのバックアップ、
TFDFBNRestoreコンポーネントでバックアップしたデータベースの復元ができます。
バックアップするには、TFDFBNBackupコンポーネントのプロパティを設定してBackupメソッドを呼び出します。
バックアップしたデータベースを復元するには、TFDFBNRestoreコンポーネントのプロパティを設定してRestoreメソッドを呼び出します。
サンプルアプリケーション
VCLフォームアプリケーションを新規に作成します。
フォームに次のコンポーネントを配置します。
- TButtonコンポーネントを2つ
- TFDPhysFBDriverLink
- TFDGUIxWaitCursor
- TFDFBNBackup
- TFDFBNRestore
BackupボタンのOnClickイベントを記述します。
uses FireDAC.Stan.Def;
procedure TForm1.ButtonBackupClick(Sender: TObject);
begin
// Firebirdライバの場所
FDPhysFBDriverLink1.VendorLib := 'C:\driver\fbembed.dll';
FDFBNBackup1.DriverLink := FDPhysFBDriverLink1;
// ユーザー名
FDFBNBackup1.UserName := 'sysdba';
// パスワード
FDFBNBackup1.Password := 'masterkey';
// データベースサーバーのホスト名
FDFBNBackup1.Host := 'localhost';
// データベースサーバーに接続するプロトコル(ipLocal/ipTCPIP/ipNetBEUI)
FDFBNBackup1.Protocol := ipLocal;
// バックアップ対象のデータベースファイル
FDFBNBackup1.Database := 'C:\test\SAMPLE.FDB';
// バックアップ先のファイル名
FDFBNBackup1.BackupFile := 'C:\test\SAMPLE.FDB.backup';
// バックアップレベル
// 0はフルバックアップ(1以上ならインクリメンタルバックアップ)
FDFBNBackup1.Level := 0;
//バックアップタスクを開始する
FDFBNBackup1.Backup;
end;
RestoreボタンのOnClickイベントを記述します。
procedure TForm1.ButtonRestoreClick(Sender: TObject);
begin
// Firebirdライバの場所
FDPhysFBDriverLink1.VendorLib := 'C:\driver\fbembed.dll';
FDFBNRestore1.DriverLink := FDPhysFBDriverLink1;
// ユーザー名
FDFBNRestore1.UserName := 'sysdba';
// パスワード
FDFBNRestore1.Password := 'masterkey';
// データベースサーバーのホスト名
FDFBNRestore1.Host := 'localhost';
// データベースサーバーに接続するプロトコル(ipLocal/ipTCPIP/ipNetBEUI)
FDFBNRestore1.Protocol := ipLocal;
// 復元対象のデータベースファイル
FDFBNRestore1.Database := 'C:\test\SAMPLE_NEW.FDB';
//復元元のファイル名
FDFBNRestore1.BackupFiles.Add('C:\test\SAMPLE.FDB.backup');
//復元処理を開始する
FDFBNRestore1.Restore;
end;
Backupボタンを押すとバックアップ処理を開始し、Restoreボタンを押すと復元処理を開始します。