Rotina de Backup e Restore de Banco de Dados Firebird
Prezado Consultor,
O meu projeto está precisando de uma Rotina de Backup e outra de Restore, que será acionada pelo usuário ao término de um dia de trabalho. Já tentei algumas que peguei na internet, mas não funcionam totalmente.
Voce poderia me enviar alguma rotina correta, pois o banco precisa ser guardado com segurança.
Estou usando Delphi 2006 e Banco de Dados Firebird 1.5.
Obrigado.
Atenciosamente,
Pedro da Conceição
Pedro Conceição
Curtidas 0
Respostas
Devmedia
17/07/2009
Pedro,
o suporte Devmedia não desenvolve pedaços de código e sim ajuda aos seus clientes a resolver um problema.
Nesse seu caso especificamente, a solução seria vc nos mostrar uma dessas rotinas e o consultor lhe ajudará tirando suas dúvidas, ok.
o suporte Devmedia não desenvolve pedaços de código e sim ajuda aos seus clientes a resolver um problema.
Nesse seu caso especificamente, a solução seria vc nos mostrar uma dessas rotinas e o consultor lhe ajudará tirando suas dúvidas, ok.
GOSTEI 0
Devmedia
17/07/2009
Pedro,
podemos cancelar esse chamado?
podemos cancelar esse chamado?
GOSTEI 0
Pedro Conceição
17/07/2009
Prezado Consultor,
Como posso enviar a minha rotina para que voce analise?
Para não mandar todo o projeto, preparei uma pasta zipada em cd, para poder enviar. Estou trabalhando em um cybercafe, pois estou sem internet na minha casa temporiariamente.
Por favor me ajude.
Obrigado.
Atenciosamente,
Pedro
GOSTEI 0
Wesley Yamazack
17/07/2009
Olá Pedro,
Você tem acesso ao disco virtual, lá você pode adicionar seus projetos, ou arquivos.
Qual motivo as rotinas que você pegou, não funionam? Qual erro ? Qual é a necessidade, que você tem que estas não te atendem ?
Fico no aguardo.
Att,
Wesley Y
Você tem acesso ao disco virtual, lá você pode adicionar seus projetos, ou arquivos.
Qual motivo as rotinas que você pegou, não funionam? Qual erro ? Qual é a necessidade, que você tem que estas não te atendem ?
Fico no aguardo.
Att,
Wesley Y
GOSTEI 0
Devmedia
17/07/2009
Pedro,
na home do suporte, do lado esqerdo da tela, existe a opção "meu disco virtual". Funciona como os demais discos virtuais. A única restrição é que os arquivos upados devem estar no formato .zip ou .rar.
Caso tenha alguma dúvida, vc pode assistir ao video explicativo, q tem o seu link ao lado da opção do disco virtual.
Lembrando que: após upar o arquivo, vc deve copiar o caminho completo e enviar ao consultor, pois ele NÃO TEM ACESSO AO SEU DISCO VIRTUAL.
na home do suporte, do lado esqerdo da tela, existe a opção "meu disco virtual". Funciona como os demais discos virtuais. A única restrição é que os arquivos upados devem estar no formato .zip ou .rar.
Caso tenha alguma dúvida, vc pode assistir ao video explicativo, q tem o seu link ao lado da opção do disco virtual.
Lembrando que: após upar o arquivo, vc deve copiar o caminho completo e enviar ao consultor, pois ele NÃO TEM ACESSO AO SEU DISCO VIRTUAL.
GOSTEI 0
Pedro Conceição
17/07/2009
Prezado Consultor,
Obrigado.
Estou enviando a Pasta do meu projeto e a pasta onde esta o meu banco de dados.
O arquivo do meu banco é Secretaria.FDB.
Mais uma vez obrigado.
O Caminho é o seguinte:
'https://www.devmedia.com.br/discovirtual/default.asp?f=\PedroVencedor'
Atenciosamente,
Pedro
GOSTEI 0
Devmedia
17/07/2009
Pedro,
o link q vc mandou é do seu disco virtual. precisamos do link do arquivo dentro do seu disco virtual, ou seja, o final do link deve ser o nome do arquivo.extensão (zip ou rar). Por favor, nos mande o link completo para que possamos lhe ajudar.
o link q vc mandou é do seu disco virtual. precisamos do link do arquivo dentro do seu disco virtual, ou seja, o final do link deve ser o nome do arquivo.extensão (zip ou rar). Por favor, nos mande o link completo para que possamos lhe ajudar.
GOSTEI 0
Pedro Conceição
17/07/2009
Prezado Consultor,
O link completo é:
'https://www.devmedia.com.br/discovirtual/default.asp?f=\PedroVencedor\ProjetoBAckupRestore.zip'
O meu Banco de Dados está em:
'https://www.devmedia.com.br/discovirtual/default.asp?f=\PedroVencedor\BancodeDadosdaSecretaria.zip'
Obrigado.
Atenciosamente,
Pedro
GOSTEI 0
Wesley Yamazack
17/07/2009
Olá meu caro,
Peço que espere um pouco, pois isso irá dar um pouco de trabalho, você tem noção da complexibilidade, certo ?
Grato pela compreensão.
Att,
Wesley Y
Peço que espere um pouco, pois isso irá dar um pouco de trabalho, você tem noção da complexibilidade, certo ?
Grato pela compreensão.
Att,
Wesley Y
GOSTEI 0
Devmedia
17/07/2009
Pedro,
os links passados não estão corretos.
Para facilitar os nossos cliente, agora, ao lado de cada arquivo upado, vc encontra o caminho ao lado do mesmo, por isso, copie o caminho dos arquivos e passe-os para o consultor, ok.
os links passados não estão corretos.
Para facilitar os nossos cliente, agora, ao lado de cada arquivo upado, vc encontra o caminho ao lado do mesmo, por isso, copie o caminho dos arquivos e passe-os para o consultor, ok.
GOSTEI 0
Devmedia
17/07/2009
Pedro,
o consultor está esperando os links corretos para que ele possa baixar os arquivos e lhe ajudar com as respostas.
No aguardo.
o consultor está esperando os links corretos para que ele possa baixar os arquivos e lhe ajudar com as respostas.
No aguardo.
GOSTEI 0
Pedro Conceição
17/07/2009
Prezado Wesley,
O link e:
http://video.devmedia.com.br/discovirtual/194223/ProjetoBackupRestore.zip
Atenciosamente,
Pedro
GOSTEI 0
Pedro Conceição
17/07/2009
Prezado Wesley,
Eu passei o link do projeto.
Agora o link do Banco de Dados é:
http://video.devmedia.com.br/discovirtual/194223/BancodeDadosdaSecretaria.zip
Atenciosamene,
Pedro
GOSTEI 0
Wesley Yamazack
17/07/2009
Olá meu caro, vamos ver teu projeto e logo retornaremos.
Att
Wesley Y
Att
Wesley Y
GOSTEI 0
Wesley Yamazack
17/07/2009
Olá meu amigo.
Segue rotina desenvolvida de backup/Restore
//Backup
procedure TBackupRestoreFrm.BBackupClick(Sender: TObject);
var Mensagem,VData,VCAMINHO_ZIP:String;
begin
if ((BackupServerName.text='') or (EdDataBaseName.text='') or (destbackup.text='')) then
begin
MessageDlg('Preencha os campos requeridos!',mtInformation,[mbOK],0);
end
else
begin
Mensagem := 'Erro durante o Backup';
BBackup.Enabled:=false;
with IbBackup do
Begin
ServerName:= BackupServerName.text;
DataBaseName:= EDDatabasename.text;
Params.Add('user_name=sysdba');
Params.Add('password=masterkey');
Active:=true;
Try
Verbose:= True;
Options:= [];
BackupFile.Clear;
BackupFile.Add(destbackup.TEXT);//('ALMOX.GBK');
memo.lines.Clear;
try
ServiceStart;
While not eof do
Begin
Memo.lines.add(GetNextLine);
end;
except
Memo.lines.add('********************************');
Memo.lines.add('Erro no Backup');
Memo.lines.add('********************************');
VData:= inttostr(DayOf(Date()))+ '_'+ inttostr(MonthOf(Date())) + '_'+inttostr(YearOf(Date()));
memo.Lines.SaveToFile(ExtractFilePath(ParamStr(0))+'Backup'+VData+'.txt');
Application.Terminate;
end;
VData:= inttostr(DayOf(Date()))+ '_'+ inttostr(MonthOf(Date())) + '_'+inttostr(YearOf(Date()));
Memo.lines.add('********************************');
Memo.lines.add('Backup bem sucedido');
Memo.lines.add('Log de Execução: '+ExtractFilePath(ParamStr(0))+'Backup'+VData+'.txt');
Memo.lines.add('********************************');
VCAMINHO_ZIP:=Copy(destbackup.Text,0,length(destbackup.text)-4);
VCAMINHO_ZIP:=VCAMINHO_ZIP+'_'+VData+'.ZIP';
ZipMaster.ZipFileName:=VCAMINHO_ZIP;
ZipMaster.FSpecArgs.Clear;
ZipMaster.FSpecArgs.Add(destbackup.Text);
Memo.lines.add('');
Memo.lines.add('********************************');
Memo.lines.add('Gerando Arquivo Zipado: '+VCAMINHO_ZIP);
Memo.lines.add('********************************');
ZipMaster.ADD;
Memo.lines.add('');
try
memo.Lines.SaveToFile(ExtractFilePath(ParamStr(0))+'Backup'+VData+'.txt');
Memo.lines.add('********************************');
Memo.lines.add('Arquivo Zipado Gerado');
Memo.lines.add('********************************');
except
Memo.lines.add('********************************');
Memo.lines.add('Erro na criação do arquivo Zipado Gerado');
Memo.lines.add('********************************');
end;
If not (UpperCase(ParamStr(1)) = '/AUTO') Then
Application.messagebox('Backup Executado Com Sucesso !!!','Aviso',MB_ICONINFORMATION)
else
BEGIN
Application.Terminate;
END;
Mensagem:= 'Realizado Com Sucesso ';
BBackup.Enabled:=true;
Finally
begin
end;
end;
end;
end;
end;
//Restore
procedure TBackupRestoreFrm.BRestoreClick(Sender: TObject);
var Mensagem:String;
begin
if ((BackupServerName.text='') or (EdDataBaseName.text='') or (destbackup.text='')) then
begin
MessageDlg('Preencha os campos requeridos!',mtInformation,[mbOK],0);
end
else
begin
Mensagem := 'Erro durante o Restore';
BBackup.Enabled:=false;
with IBRestore do
Begin
ServerName:= BackupServerName.text;
DataBaseName.Add(destbackup.TEXT);
Params.Add('user_name=sysdba');
Params.Add('password=masterkey');
Active:=true;
Try
Verbose:= True;
Options:= [NoShadow,NoValidityCheck,CreateNewDB];
PageSize:=8192;
BackupFile.Clear;
BackupFile.Add(EDDatabasename.text);//('ALMOX.GBK');
memo.lines.Clear;
ServiceStart;
While not eof do
Begin
Memo.lines.add(GetNextLine);
end;
Application.messagebox('Backup Executado Com Sucesso !!!','Aviso',MB_ICONINFORMATION);
Mensagem:= 'Realizado Com Sucesso ';
BBackup.Enabled:=true;
Finally
begin
end;
end;
end;
end;
end;
Adpte o exemplo a sua necessidade.
Um abraço
Wesley Y
Segue rotina desenvolvida de backup/Restore
//Backup
procedure TBackupRestoreFrm.BBackupClick(Sender: TObject);
var Mensagem,VData,VCAMINHO_ZIP:String;
begin
if ((BackupServerName.text='') or (EdDataBaseName.text='') or (destbackup.text='')) then
begin
MessageDlg('Preencha os campos requeridos!',mtInformation,[mbOK],0);
end
else
begin
Mensagem := 'Erro durante o Backup';
BBackup.Enabled:=false;
with IbBackup do
Begin
ServerName:= BackupServerName.text;
DataBaseName:= EDDatabasename.text;
Params.Add('user_name=sysdba');
Params.Add('password=masterkey');
Active:=true;
Try
Verbose:= True;
Options:= [];
BackupFile.Clear;
BackupFile.Add(destbackup.TEXT);//('ALMOX.GBK');
memo.lines.Clear;
try
ServiceStart;
While not eof do
Begin
Memo.lines.add(GetNextLine);
end;
except
Memo.lines.add('********************************');
Memo.lines.add('Erro no Backup');
Memo.lines.add('********************************');
VData:= inttostr(DayOf(Date()))+ '_'+ inttostr(MonthOf(Date())) + '_'+inttostr(YearOf(Date()));
memo.Lines.SaveToFile(ExtractFilePath(ParamStr(0))+'Backup'+VData+'.txt');
Application.Terminate;
end;
VData:= inttostr(DayOf(Date()))+ '_'+ inttostr(MonthOf(Date())) + '_'+inttostr(YearOf(Date()));
Memo.lines.add('********************************');
Memo.lines.add('Backup bem sucedido');
Memo.lines.add('Log de Execução: '+ExtractFilePath(ParamStr(0))+'Backup'+VData+'.txt');
Memo.lines.add('********************************');
VCAMINHO_ZIP:=Copy(destbackup.Text,0,length(destbackup.text)-4);
VCAMINHO_ZIP:=VCAMINHO_ZIP+'_'+VData+'.ZIP';
ZipMaster.ZipFileName:=VCAMINHO_ZIP;
ZipMaster.FSpecArgs.Clear;
ZipMaster.FSpecArgs.Add(destbackup.Text);
Memo.lines.add('');
Memo.lines.add('********************************');
Memo.lines.add('Gerando Arquivo Zipado: '+VCAMINHO_ZIP);
Memo.lines.add('********************************');
ZipMaster.ADD;
Memo.lines.add('');
try
memo.Lines.SaveToFile(ExtractFilePath(ParamStr(0))+'Backup'+VData+'.txt');
Memo.lines.add('********************************');
Memo.lines.add('Arquivo Zipado Gerado');
Memo.lines.add('********************************');
except
Memo.lines.add('********************************');
Memo.lines.add('Erro na criação do arquivo Zipado Gerado');
Memo.lines.add('********************************');
end;
If not (UpperCase(ParamStr(1)) = '/AUTO') Then
Application.messagebox('Backup Executado Com Sucesso !!!','Aviso',MB_ICONINFORMATION)
else
BEGIN
Application.Terminate;
END;
Mensagem:= 'Realizado Com Sucesso ';
BBackup.Enabled:=true;
Finally
begin
end;
end;
end;
end;
end;
//Restore
procedure TBackupRestoreFrm.BRestoreClick(Sender: TObject);
var Mensagem:String;
begin
if ((BackupServerName.text='') or (EdDataBaseName.text='') or (destbackup.text='')) then
begin
MessageDlg('Preencha os campos requeridos!',mtInformation,[mbOK],0);
end
else
begin
Mensagem := 'Erro durante o Restore';
BBackup.Enabled:=false;
with IBRestore do
Begin
ServerName:= BackupServerName.text;
DataBaseName.Add(destbackup.TEXT);
Params.Add('user_name=sysdba');
Params.Add('password=masterkey');
Active:=true;
Try
Verbose:= True;
Options:= [NoShadow,NoValidityCheck,CreateNewDB];
PageSize:=8192;
BackupFile.Clear;
BackupFile.Add(EDDatabasename.text);//('ALMOX.GBK');
memo.lines.Clear;
ServiceStart;
While not eof do
Begin
Memo.lines.add(GetNextLine);
end;
Application.messagebox('Backup Executado Com Sucesso !!!','Aviso',MB_ICONINFORMATION);
Mensagem:= 'Realizado Com Sucesso ';
BBackup.Enabled:=true;
Finally
begin
end;
end;
end;
end;
end;
Adpte o exemplo a sua necessidade.
Um abraço
Wesley Y
GOSTEI 0
Wesley Yamazack
17/07/2009
Olá meu amigo, Bom dia !
consegui ver o exemplo? Adaptar ? Estamos a disposição.
Um abraço
Wesley Y
consegui ver o exemplo? Adaptar ? Estamos a disposição.
Um abraço
Wesley Y
GOSTEI 0
Wesley Yamazack
17/07/2009
Olá meu amigo, boa noite!
Fechamos o chamados, porém estamos a disposição
Um abraço
Wesley Y
Fechamos o chamados, porém estamos a disposição
Um abraço
Wesley Y
GOSTEI 0
Pedro Conceição
17/07/2009
Prezado Consultor,
Minhas dúvidas foram sanadas.
Obrigado.
GOSTEI 0