backup com delphi com dbxexpress

Delphi

07/04/2014

galera como faço para criar um rotina de backup da minha base de dados

essa rotina pode ser feita pelo usuario nessa tela
o usuario pode restaourar o backup do dia anterior

se alguem poder me ajudar agradeço

ja procurei na net mais nada encontro parecido
Jose Silva

Jose Silva

Curtidas 0

Respostas

Marcos Oliveira

Marcos Oliveira

07/04/2014

Qual banco de dados você usa?
GOSTEI 0
Jose Silva

Jose Silva

07/04/2014

sql serve 5.0
os coponentes são SQLConnection, SQLQuery, DataSetProvide, ClientDataSet, DataSource

OS
Windows 64 bits ultimate

delphi7 enterprize
GOSTEI 0
Jose Silva

Jose Silva

07/04/2014

so para constar
é mysql 5.0
GOSTEI 0
Marcos Oliveira

Marcos Oliveira

07/04/2014

Não trabalho com MySql, mas consegui achar na internet, em outro forum o código abaixo.

mysqldump --add-drop-table --add-locks -n -h server2 -u root -B nome_do_banco_de_dados > "caminho_onde_o_arquivo_sera_salvo" 


Att,

Marcos
GOSTEI 0
Marcos Saffran

Marcos Saffran

07/04/2014

GOSTEI 0
Jose Silva

Jose Silva

07/04/2014

vou dar uma olhada
GOSTEI 0
Jose Silva

Jose Silva

07/04/2014

cara valeu mesmo muito obrigado,

mas percebi que ele salva no diretótio do mysql

gostaria de saber se tem como alterar esse caminho
vamos supor que ao clicar no botão backup

ele cria um pasta com nome do dia. hora e mes
e salva dentro o backup

será que é possivel?
GOSTEI 0
Marcos Saffran

Marcos Saffran

07/04/2014

No parâmetro "--result-file=" é definido onde será salvo o backup.

Então você pode colocar o caminho desejado:

--result-file=c:\caminho desejado\nome do arquivo desejado

qualquer dúvida pode perguntar.
GOSTEI 0
Jose Silva

Jose Silva

07/04/2014

galera fiz como me disseram
porém não visualizei na pasta os arquivos de backup

procedure Tfrm_backup.btn1Click(Sender: TObject);
begin
auxiliar := 'cmd.exe /c "mysqldump --opt --flush-logs --triggers --port=' + edt_porta_servidor.text;
auxiliar := auxiliar + ' --user=' + edt_usuario_servidor.Text + ' --password=' + edt_senha_servidor.Text;
auxiliar := auxiliar + ' --result-file=D:\backup--databases ' + edt_banco_de_dados.Text ;


if not backup(auxiliar) then
ShowMessage('BACKUP NÃO FOI PROCESSADO!')
else
ShowMessage('Backup Realizado!');
end;
GOSTEI 0
Marcos Saffran

Marcos Saffran

07/04/2014

Bom dia Vencelog,

coloque um memo no seu programa e depois de preencher a variável auxiliar coloque:

memo.lines.add(auxiliar);

então copie o comando e execute-o dentro do prompt de comando para ver se há alguma mensagem de erro e nos informe.
GOSTEI 0
Jose Silva

Jose Silva

07/04/2014

fiz
[img]http://arquivo.devmedia.com.br/forum/imagem/361863-20140410-135428.jpg[/img]
GOSTEI 0
Marcos Saffran

Marcos Saffran

07/04/2014

Olá Vencelog,

você está com os mesmos problemas que ocorreram no link acima, por favor vá nele e verifique a solução para esse erro.

Se ainda houver dúvidas, por favor nos avise.
GOSTEI 0
POSTAR