Sign in Join
Wiki copytemporary

Revision 1 of 1, by Trev on 3-1-2020. The page as it is now.

TFBAdmin/fr

TFBAdmin est un composant qui aide dans les tâches d'administration de Interbase/Firebird. Il se trouve dans l'onglet SQLdb de la palette de composants et réside dans l'unité FBAdmin. Il fournit les fonctionnalités suivantes :

Il y a aussi un composant Lazarus et une démo qui permettent l'emploi du composant FPC TFBAdmin.

Exemple

Ceci montre comment créer une sauvegarde multi-fichier d'une base de données sur un serveur Linux ; 3 fichiers de sauvegarde, limités en taille à 600 Mo ; la progression de la sauvegarde est montrée dans un TMemo :

pascal
procedure TForm1.logadm(Sender: TObject; msg: string; IBAdminAction: string);0
begin
  Memo1.Lines.add(IBAdminAction+' : '+msg);
end;

procedure TForm1.backup;
var
  Admin:TFBAdmin;
  sl:TStringList;
begin
  Admin:=TFBAdmin.Create(self);
  sl:=TStringList.create;
  try
    Admin.UseExceptions:=true;
    Admin.Host:='192.168.2.98';
    Admin.Protocol:=IBSPTCPIP;
    Admin.User:='sysdba';
    Admin.Password:='masterkey';
    Admin.Port:= 3050;                   //change if not using the default port
    Admin.Connect;
    Admin.OnOutput:=@logadm;
    sl.Add('/home/firebird/test.bak1');
    sl.Add('/home/firebird/test.bak2');
    sl.Add('/home/firebird/test.bak3');
    Admin.BackupMultiFile('/home/firebird/test.fdb',sl,600000000,[IBBkpVerbose]);
  finally
    sl.Destroy;
    Admin.Destroy; //disconnects automatically
  end;
end;

Un programme de démo est aussi disponible dans le dossier des exemples du paquet fcl-db.

L'exemple suivant montre comment sauvegarder vers et restaurer depuis un fichier unique sur un serveur Windows :

pascal
uses 
  FBAdmin;
 
procedure TForm1.logadm(Sender: TObject; msg: string; IBAdminAction: string);
begin
  Memo1.Lines.add(IBAdminAction + ' : ' + msg);
end;
 
procedure Backup(Database, Backupfile: string);
var
  Admin: TFBAdmin;
begin
  Admin := TFBAdmin.Create(nil);
  try
    Admin.UseExceptions := True;
    Admin.Host := '192.168.1.66';
    Admin.Protocol := IBSPTCPIP;
    Admin.User := 'SYSDBA';
    Admin.Password := 'masterkey';
    Admin.Port := 3050;            //change if not using the default port
    Admin.Connect;
    Admin.OnOutput := @Form1.logadm;
    Admin.Backup(Database, Backupfile, [IBBkpVerbose]);
  finally
    Admin.Free; //disconnects automatically
  end;
end;
 
procedure Restore(Database, Backupfile: string);
var
  Admin: TFBAdmin;
begin
  Admin := TFBAdmin.Create(nil);
  try
    Admin.UseExceptions := True;
    Admin.Host := '192.168.1.66';
    Admin.Protocol := IBSPTCPIP;
    Admin.User := 'SYSDBA';
    Admin.Password := 'masterkey';
    Admin.Port := 3050;                   //change if not using the default port
    Admin.Connect;
    Admin.OnOutput := @Form1.logadm;
    Admin.Restore(Database, Backupfile, [IBResVerbose, IBResReplace]);
  finally
    Admin.Free; //disconnects automatically
  end;
end;
 
procedure TForm1.btBackupClick(Sender: TObject);
begin
  Backup('c:\data\demo.fdb', 'c:\temp\demo.fbk');
end;
 
procedure TForm1.btRestoreClick(Sender: TObject);
begin
  Restore('c:\data\demo_restored.fdb', 'c:\temp\demo.fbk');
end;

Voir aussi


From the Free Pascal wiki, page "TFBAdmin/fr", as it stood on 2020-03-01 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.