Fórum Comando DOS no OnClick. #341963
18/05/2007
0
To tentando fazer um bakcup da minha base Mysql pelo Deplhi. Uso o seguinte comando no Prompt-DOS.
mysqldump -h localhost -u root --passsword=senha --databases minhatabela > c:\backup.sql
Funciona blz. O aplicativo mysqldump ja esta no Path e so preciso passar isso ai mesmo. To tentando jogar isso num onclick de um botão no Delphi. Tentei das seguintes formas.
ShellExecute(0,nil,Pchar(´mysqldump´), PChar(´ -h localhost -u root --passsword=senha --databases minhatabela > c:\kariri_backup.sql´), nil, sw_show);
e
WinExec(´mysqldump -h localhost -u root --passsword=senha --databases minhatabela > c:\backup.sql´,sw_show);
E não retorna nada. O Shellexecute ate abre uma janelinha de prompt mas nao salva o arquivo SQL. Alguem poderia me ajudar. Explicando como funciona esses comando WinExe e Shell Execute. Talvez nao esteja entendendo bem. Valeu Galera !!
Laelsonc
Curtir tópico
+ 0Posts
18/05/2007
Ffabiop
Estes dias achei o seguinte:
WinExec(´command.com /c mysqldump -h localhost -u root --passsword=senha --databases minhatabela > c:\backup.sql´,sw_show);
Parece funcionar bem, faz um teste aí e conta pra gente
fábio
Gostei + 0
18/05/2007
Laelsonc
Alguem tenha algum aideia ou dica, ja to entrando no desespero..rsrs.
Gostei + 0
18/05/2007
Massuda
Gostei + 0
18/05/2007
Laelsonc
MAssuda o lance do Bat é que minha senha e usuario irao ficar em evidencia, nego esperto pode abrir e ver.
Porque sera q com os comandos q passo acima nao funciona ?
Gostei + 0
18/05/2007
Siam
Gostei + 0
18/05/2007
Carlos Bernardo
var executa:string;
executa := ´command.com /c mysqldump -h localhost -u root --passsword=senha --databases minhatabela > c:\backup.sql´;
winexec(PChar(Executa),1);
Tenta aí....
Gostei + 0
18/05/2007
Massuda
Use o exemplo deste artigo...
:arrow: [url=http://delphi.about.com/cs/adptips2001/a/bltip0201_2.htm]Capture the output from a DOS (command/console) Window[/url]
...do site delphi.about.com para capturar a saída do mysqldump; no seu cas, ficaria algo assim...
RunDosInMemo(´mysqldump -h localhost -u root --passsword=senha --databases minhatabela ´, Memo1) ;
Gostei + 0
19/05/2007
Laelsonc
C:\ARQUIV~1\BORLAND\DELPHI7\PROJECTS>
E o lance do Massuda não gerou nada. A aplicação travou e nao jogou nada dentro do Memo.
O Massuda falou faz sentido, quando a saida de dados do DOS. Creio esta ai o caminho a pesquisar.
Ate que sei alternativas para o backup do mysql. Mas pelo Dump é uma mão na roda pelas opcoes que ele tras, e nao quero acreditar que nao exista uma solução para rodar um scriptiznho DOS simples de dentro do Delphi.
E ai Massuda, galerinha me ajuda !
Gostei + 0
19/05/2007
Laelsonc
Cara seu exemplo tambem nao funcionou. Gera o arquivo vazio na unidade C.
Gostei + 0
20/05/2007
Siam
Tente utilizar cmd ao invés de command
Gostei + 0
21/05/2007
Laelsonc
Gostei + 0
21/05/2007
Siam
WinExec(´cmd /k dir c:\ /od > c:\dirorg.txt´, SW_Hide);
Será que vc não está errando em alguma coisa ?
Gostei + 0
21/05/2007
Laelsonc
Resolveu o problema cara ! Valeu mesmo ! Vou passar pra um duzia de cabrinha que assim como eu estava atras dessa solução.
Obrigado !
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)