TFBAdmin/fr
│
English (en) │
français (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 :
- Ajoute, modifie ou supprime les utilisateurs de la base de données.
- Sauvegarde et restaure les bases de données en utilisant des fichiers simples ou multiples (découpage split)
- Obtenir des informations générales sur la base de données.
- Obtenir le fichier journal de la base de données listant les événements et erreurs importants de la base de données.
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 :
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 :
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
- Firebird Utilisation de Firebird avec FPC/Lazarus SQLdb.