[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