[firebase-br] Fazer Backup

Jeferson Oliveira jefersonfoliveira em gmail.com
Seg Maio 15 11:22:19 -03 2006


Abaixo código em Delphi, utilizando IBX:

Abraço!
Jeferson Oliveira


uses
  IBServices;

procedure BackupDB(Servidor, NomeCompletoArquivoGDB: String);
var
  IBBackup: TIBBackupService;
begin
  IBBackup := TIBBackupService.Create(nil);
  IBBackup.Params.Clear;
  IBBackup.Params.Add('user_name=SYSDBA');
  IBBackup.Params.Add('password=masterkey');
  IBBackup.LoginPrompt := False;
  if UpperCase(Servidor) = 'LOCALHOST' then
  begin
    IBBackup.ServerName := 'LOCALHOST';
    IBBackup.Protocol := Local;
  end
  else
  begin
    IBBackup.ServerName := Servidor;
    IBBackup.Protocol := TCP;
  end;
  IBBackup.DatabaseName := NomeCompletoArquivoGDB;
  IBBackup.BackupFile.Text := ChangeFileExt(NomeCompletoArquivoGDB, '.GBK');
  IBBackup.Verbose := True;
  IBBackup.Attach;
  IBBackup.Options := [NoGarbageCollection];
  IBBackup.Active := True;
  IBBackup.ServiceStart;
  //Método GetNextLine é invocado para obter cada linha do log do GBAK 
quando Vebose=True.
  //Nos casos em que Verbose=False a função é chamada apenas para garantir 
que o
  //próximo método não seja executado antes do término desse procedimento.
  while not IBBackup.Eof do
    IBBackup.GetNextLine;
  IBBackup.Active := False;;
  IBBackup.Free;
end;

procedure RestoreDB(Servidor, NomeCompletoArquivoGBK: String);
var
  IBRestore: TIBRestoreService;
begin
  IBRestore := TIBRestoreService.Create(nil);
  IBRestore.Params.Clear;
  IBRestore.Params.Add('user_name=SYSDBA');
  IBRestore.Params.Add('password=masterkey');
  IBRestore.LoginPrompt := False;
  if UpperCase(Servidor) = 'LOCALHOST' then
  begin
    IBRestore.ServerName := 'LOCALHOST';
    IBRestore.Protocol := Local;
  end
  else
  begin
    IBRestore.ServerName := Servidor;
    IBRestore.Protocol := TCP;
  end;
  IBRestore.Verbose := True;
  IBRestore.Attach;
  IBRestore.Options := [Replace];
  IBRestore.DatabaseName.Add(ChangeFileExt(NomeCompletoArquivoGBK, '.GDB'));
  IBRestore.BackupFile.Add(NomeCompletoArquivoGBK);
  IBRestore.Active := True;
  IBRestore.ServiceStart;
  while not IBRestore.Eof do
    IBRestore.GetNextLine;
  IBRestore.Active := False;;
  IBRestore.Free;
end;


"Delphi Man" <delphi_man em hotmail.com> escreveu 
na mensagem news:BAY111-W2DEEEEFD8AC68AE6EFFE9EEAD0 em phx.gbl...
Luiz, eu tenho aq fontes em delphi de um aplicativo q faz backup/restore.
veio em uma revista. nao sei pq mas os exemplos de revistas nunca funcionam 
de imediato,
parece q eles botam erro de implicância..
quer q eu te envie?
e tbm qualquer um da lista q quizer eu envio.
mas ajudem a botar ele pra funcionar.. plz..
[ ]'s
_________________________________________________________________
MSN Messenger: converse online com seus amigos .
http://messenger.msn.com.br
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço 
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa







Mais detalhes sobre a lista de discussão lista