[firebase-br] Backup e Restore usando IBO

Cleidson cleidson em zmed.com.br
Qua Jan 7 14:17:55 -03 2009


Fala Marcelo,

Kara, vi post seu pra tudo quando é lado sobre esse IBOADMIN. rsrsrsrs

Mas ainda to com o problema da GDS32.DLL que ele insiste em dizer que 
precisa ser instalada.

Alguma idéia ?


Magno System escreveu:
> Backup:
> 
> procedure TFrmBackup.BitBtn1Click(Sender: TObject);
> var
> origem, servidor, caminho, destino: string;
> arquivo: tinifile;
> lBackupService: TIBOBackupService;
> begin
> Arquivo := TInifile.Create(Extractfilepath(Application.ExeName) + 
> 'sisgemp.ini');
> Servidor := Arquivo.ReadString('Sisgemp', 'Servidor', '');
> Caminho := Arquivo.ReadString('Sisgemp', 'Caminho', 
> Extractfilepath(Application.ExeName) + 'sisgemp.fdb');
> Origem := Caminho;
> if copy(Directorylistbox1.Directory, 
> length(Directorylistbox1.Directory), 1) = '\' then
>   Destino := Directorylistbox1.Directory + 'BackupSNGPC_' + 
> formatdatetime('DDMMYYYY', Date) + '_' + formatdatetime('HHmm', time) + 
> '.fbk'
> else
>   Destino := Directorylistbox1.Directory + '\BackupSNGPC_' + 
> formatdatetime('DDMMYYYY', Date) + '_' + formatdatetime('HHmm', time) + 
> '.fbk';
> lBackupService := TIBOBackupService.Create(nil);
> if Servidor <> '' then
> Begin
>   lBackupService.ServerName := Servidor;
>   lBackupService.Protocol := cptcp_ip;
> end
> else
> Begin
>   lBackupService.Protocol := cplocal;
>   Origem := Caminho;
> end;
> lBackupService.Params.Add('user_name=SYSDBA');
> lBackupService.Params.Add('password=masterkey');
> lBackupService.LoginPrompt := false;
> lBackupService.Attach;
> if lBackupService.Active = true then
> begin
>   Bitbtn1.Enabled := false;
>   lBackupService.Verbose := true;
>   lBackupService.DatabaseName := origem;
>   lBackupService.BackupFile.Text := destino;
>   lBackupService.ServiceStart;
>   Memo1.Lines.Clear;
>   while not lBackupService.eof do
>   Begin
>      Memo1.Lines.add( lBackupService.getNextline);
>      Application.ProcessMessages;
>   end;
>   while (lBackupService.IsServiceRunning) do
>      Application.ProcessMessages;
>   if lBackupService.Active then
>      lBackupService.Detach();
>   Bitbtn1.Enabled := true;
>   Application.ProcessMessages;
>   Showmessage('Backup realizado com sucesso!!!');
> end;
> end;
> 
> Restore:
> 
> procedure TFrmRestauracao.BitBtn1Click(Sender: TObject);
> var
> origem, destino: string;
> arquivo: tinifile;
> lBackupService: TIBORestoreService;
> begin
> Case Messagedlg('A T E N Ç Ã O !!! Após a restauração o banco de dados 
> restaurado substituirá o banco de dados atual!!! Confirma a 
> restauração?', mtconfirmation, [mbyes,mbno], 0) of
>   id_no: exit;
> end;
> Arquivo := TInifile.Create(Extractfilepath(Application.ExeName) + 
> 'sisgemp.ini');
> Origem := FileListbox1.FileName;
> Destino := Extractfilepath(Arquivo.ReadString('Sisgemp', 'Caminho', 
> Extractfilepath(Application.ExeName) + 'SISGEMP.FDB')) + 'SISGEMP.TMP';
> lBackupService := TIBORestoreService.Create(nil);
> lBackupService.Params.Add('user_name=SYSDBA');
> lBackupService.Params.Add('password=masterkey');
> lBackupService.LoginPrompt := false;
> lBackupService.Protocol := cpLocal;
> //lBackupService.Options := [Replace];
> lBackupService.Attach;
> if lBackupService.Active = true then
> begin
>   Bitbtn1.Enabled := false;
>   lBackupService.Verbose := true;
>   lBackupService.DatabaseName.Add(destino);
>   lBackupService.BackupFile.Text := origem;
>   lBackupService.ServiceStart;
>   Memo1.Lines.Clear;
>   while not lBackupService.eof do
>   Begin
>      Memo1.Lines.add( lBackupService.getNextline);
>      Application.ProcessMessages;
>   end;
>   while (lBackupService.IsServiceRunning) do
>      Application.ProcessMessages;
>   if lBackupService.Active then
>      lBackupService.Detach();
>   Application.ProcessMessages;
>   if fileexists(Extractfilepath(Application.ExeName) + 
> 'SISGEMP_ANTIGO.FDB') then
>      DeleteFile(Extractfilepath(Application.ExeName) + 
> 'SISGEMP_ANTIGO.FDB');
>   Try
>      Datacliente.IBSisgemp.Disconnect;
>   Finally
>      Begin
>         RenameFile(Extractfilepath(Application.ExeName) + 'SISGEMP.FDB', 
> Extractfilepath(Application.ExeName) + 'SISGEMP_ANTIGO.FDB');
>         RenameFile(Extractfilepath(Application.ExeName) + 'SISGEMP.TMP', 
> Extractfilepath(Application.ExeName) + 'SISGEMP.FDB');
>         Bitbtn1.Enabled := true;
>         Showmessage('Restauração efetuada com sucesso!!! O programa 
> deverá ser reiniciado');
>         Application.MainForm.Close;
>      end;
>   end;
> end;
> end;
> 
> 
> ----- Original Message ----- From: "Cleidson" 
> <cleidson em zmed.com.br>
> To: <lista em firebase.com.br>
> Sent: Wednesday, January 07, 2009 12:42 PM
> Subject: Re: [firebase-br] Backup e Restore usando IBO
> 
> 
> Fiz isso, mas ainda não estou conseguindo fazer o backup. Está havendo
> dois erros: está acusando a falta da GDS32.DLL mesmo eu tendo colocado a
> tal em todos os diretorios possíveis, e o outro erro é que quando dou um
> ServiceStart dá o erro: "service is not attached".
> 
> Tem algum exemplo de uso do IBOADMIN por ai ?
> 
> Carlos H. Cantu escreveu:
>> Vc tem que baixar e instalar os componentes IBOAdmin, que contem os
>> componentes de backup, restore, etc.
>>
>> []s
>> Carlos H. Cantu
>> www.FireBase.com.br - www.firebirdnews.org
>> www.warmboot.com.br - blog.firebase.com.br
>>
>> C> Alguém sabe me dizer como realizar essas operacoes de banco usando 
>> o IBO ?
>>
>>
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use: 
>> http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
> 
> 
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: 
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> 
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: 
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> 





Mais detalhes sobre a lista de discussão lista