FireDACでFirebirdのバックアップや復元をする

FierDACのTFDFBNBackupコンポーネントでFirebirdデータベースのバックアップ、
TFDFBNRestoreコンポーネントでバックアップしたデータベースの復元ができます。

バックアップするには、TFDFBNBackupコンポーネントのプロパティを設定してBackupメソッドを呼び出します。

バックアップしたデータベースを復元するには、TFDFBNRestoreコンポーネントのプロパティを設定してRestoreメソッドを呼び出します。

サンプルアプリケーション

VCLフォームアプリケーションを新規に作成します。

フォームに次のコンポーネントを配置します。

  • TButtonコンポーネントを2つ
  • TFDPhysFBDriverLink
  • TFDGUIxWaitCursor
  • TFDFBNBackup
  • TFDFBNRestore

001

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ボタンを押すと復元処理を開始します。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください