GARANTIR DESCONTO

Fórum Backup - URGENTE!!! #174065

09/08/2003

0

Estou fazendo a restauracao do meu BD (INTERBASE) em tempo de execução, so q da erro pq ele diz que o BD esta sendo usado. COmo fazer para que os dados sejam atualizados ou recuperados sem dar esse erro??


Obs.: Estou usando o componente do Interbase para fazer o Backup

Abraços :lol:


Thales

Thales

Responder

Posts

09/08/2003

Werlon Goulart

Basta vc fechar o DataBase q vai funcionar...

Tem um componente muito bom chamado VCLZip q compacta padrao Zip e nao exige DLL ou qquer arquivo externo.
Assim, depois de gerar o GBK vc pode compactar usando o VCLZip, inclusive em varios discos.

Mas nao é de graca nao... Tem q gastar DinDin....

Um Abraco
Werlon Goulart


Responder

Gostei + 0

10/08/2003

Koplin

Veja: BackUp da para fazer com o BD funcionando, agora restauração exige que ninguem esteja acessando os arquivos. Lembre-se que em Windows Se 1 usuário acessa um arquivo, ele não pode ser renomeado, modificado ou excluido por outros - violação de compartilhamento . Vc precisa desativar o BD, realmente para fazer a restauração. E o Backup On-Line Também não é a melhor opção, dependendo do sistema que vc trabalha, pois vc pode correr o risco de perder algum dado mais recente para o backup.

Espero ter ajudado.


Responder

Gostei + 0

10/08/2003

Thales

Ja tentei o comando [b:e99a88eebd]Database.Connected:= false;[/b:e99a88eebd] e não deu certo, aparece o mesmo erro.. :/


Responder

Gostei + 0

11/08/2003

Koplin

Quando eu usava IB/FB fazia com o IBRestoreService:

DM1.DB1.Close;
with IBRestoreService1 do Begin
ServerName := ´Local Server´;
Params.Add(´user_name=SYSDBA´);
Params.Add(´password=masterkey´);
Active := True;
try
Screen.Cursor:=-11;
Verbose := True;
Options := [Replace, UseAllSpace];
PageBuffers := 3000;
PageSize := 4096;
DatabaseName.Add(DM1.DB1.databasename);
Backupfile.Clear;
MEMO2.Clear;//usava um memo para visualizar o processo...
Memo2.Lines.Add(´/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\´);
Memo2.Lines.Add(´ Iniciando Restauração da BD...´);
Memo2.Lines.Add(´/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\´);
BackupFile.Add(´A:\arquivo.gbk´);
ServiceStart;
While not Eof do BEGIN
Memo2.Lines.Add(GetNextLine);
Application.ProcessMessages;
end;
Memo2.Lines.Add(´/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\´);
Memo2.Lines.Add(´ Restauração Concuída...´);
Memo2.Lines.Add(´/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\´);
finally
Screen.Cursor:=0;
Active := False;
end; end; end;

Deixei exatamente como eu usava. Agora, não pode ter ninguem acessando em nenhuma máquina.


Responder

Gostei + 0

11/08/2003

Thales

Show de Bola!! Era disso mesmo que eu estava precisando!! :D Valeu!
Mas sem querer abusar de voce, mas já abusando :P, aí vai minha duvida:
Neste exemplo que voce me passou, os dados sao substituidos pelos os dados que ja existem no BD. Existe uma maneira de esses dados que ja estao inseridos no BD nao serem perdidos, ou seja, haveria uma concatenação dos dados que ja estao no BD com os que serao restaurados. Deu pra entender?!
O que eu queria mesmo vc ja conseguiu me ajudar, isso que estou te perguntando acima é so por questao de curiosidade.

Obrigado pela ajuda!
:D


Responder

Gostei + 0

12/08/2003

Koplin

Tem. Mas eu não sei. Lamento.
Fico feliz que resolvi seu problema.
Boa sorte.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar