aprediz12 Postado Agosto 8, 2011 Denunciar Share Postado Agosto 8, 2011 Oi gente, tenho o seguinte comando que eu executo direto no cmd do windows: mysqldump -u root -psenha -x -e -A > c:\Pasta1\backupTeste.sqlisso gera um backup do meu banco MySQL, só que eu queria uma forma de fazer isso via linha de comando diretamento no delphijá tentei algumas coisas tipo usar o WinExec, mas sem sucesso.se alguém puder da um help, ficarei muito grato.há, eu to usando Delphi 2010 com Windows 7Valeu! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Agosto 8, 2011 Denunciar Share Postado Agosto 8, 2011 só que eu queria uma forma de fazer isso via linha de comando diretamento no delphijá tentei algumas coisas tipo usar o WinExec, mas sem sucesso.WinExec('cmd /c mysqldump -u root -p --password=minhasenha -c -e --databases dados >c:\Pasta1\backupTeste.sql' ,SW_HIDE);minhasenha = senha do bancodados = nome do banco de dadosabraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 aprediz12 Postado Agosto 9, 2011 Autor Denunciar Share Postado Agosto 9, 2011 (editado) Deu certinho, valeu Jhonas, mas deixa eu abusar um pouco....sei que da pra fazer isso mas não sei como:criar o backup zipado, pode ser qualquer extensão.é que vou criar uma rotina pra fazer esse backup automatico num horario programado, todo dia será criado um arquivo, só que esse arquivo na extensão *.sql, tem 21 MB, e zipado (manualmente) ficou com 1.97 MBValeu... Editado Agosto 9, 2011 por aprediz12 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Agosto 9, 2011 Denunciar Share Postado Agosto 9, 2011 veja http://www.clubedainformatica.com.br/site/...oda-base-mysql/ou http://www.google.com.br/search?hl=pt-BR&a...l2645l2-5.4l9l0abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 aprediz12 Postado Agosto 10, 2011 Autor Denunciar Share Postado Agosto 10, 2011 (editado) outra coisa que não deu certo,quero usar um TSaveDialog pra salvar esse arquivo de backup, e to usando um parametro mas ta dando errovar vFile : string; begin if SaveDialog1.execute then begin vFile := OpenDialog1.Filename; WinExec('cmd /c mysqldump -u root -p --password=minhasenha -c -e --databases dados >'+vFile ,SW_HIDE); end; end; já tentei usar tipo: '...dados >'+pChar(vFile),SW_HIDE); tentei tambem: pAnsiChar... mas nem compila, da erro: Incopatible types: 'string' and 'PAnsiChar' tentei assim tambem, desse forma compila, executa mas não cria o arquivo: var comando : string; // variant; begin if SaveDialog1.execute then begin comando := 'cmd /c mysqldump -u root -p --password=minhasenha -c -e --databases dados >'+SaveDialog1.FileName; Winexec(PAnsiChar(comando),SW_HIDE); end; Editado Agosto 10, 2011 por aprediz12 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Agosto 11, 2011 Denunciar Share Postado Agosto 11, 2011 o correto é :procedure TForm1.Button1Click(Sender: TObject); var vFile : PAnsiChar; s : string; begin if SaveDialog1.execute then begin S := 'C:\Arquivos de programas\MySQL\MySQL Server 5.1\bin'; // caminho para o MYSQL ( pasta bin ) ChDir(s); vFile := PAnsiChar('cmd /c mysqldump -u root -p --password=minhasenha -c -e --databases dados >'+PAnsiChar(SaveDialog1.Filename)); WinExec(vFile ,SW_HIDE); end; end;OBS: se voce não colocar o caminho para o executavel ( mysqldump.exe ) não funcionaabraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 aprediz12 Postado Agosto 11, 2011 Autor Denunciar Share Postado Agosto 11, 2011 o correto é :procedure TForm1.Button1Click(Sender: TObject); var vFile : PAnsiChar; s : string; begin if SaveDialog1.execute then begin S := 'C:\Arquivos de programas\MySQL\MySQL Server 5.1\bin'; // caminho para o MYSQL ( pasta bin ) ChDir(s); vFile := PAnsiChar('cmd /c mysqldump -u root -p --password=minhasenha -c -e --databases dados >'+PAnsiChar(SaveDialog1.Filename)); WinExec(vFile ,SW_HIDE); end; end;OBS: se voce não colocar o caminho para o executavel ( mysqldump.exe ) não funcionaabraçoOlá Jhonas valeu pela atenção, só que não funcionou...não deu erro, mas tambem não gerou o arquivo.obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 aprediz12 Postado Agosto 11, 2011 Autor Denunciar Share Postado Agosto 11, 2011 (editado) resolvi dessa forma:var origem, destino : string; begin WinExec('cmd /c mysqldump -u root -p --password=minhasenha -c -e --databases dados > C:\dir_qualquer\bkp001.sql',SW_HIDE); origem := 'C:\dir_qualquer\bkp0001.sql'; if SaveDialog1.execute then begin destino := SaveDialog1.FileName; MoveFile(PChar(origem),PChar(destino)); end else DeleteFile('C:\dir_qualquer\bkp001.sql');o arquivo é gerado numa pasta que eu defini no caso (C:\dir_qualquer\)ae o arquivo é movida pra onde quizer atravez do SaveDialog.Valeu..... Editado Agosto 11, 2011 por aprediz12 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
aprediz12
Oi gente, tenho o seguinte comando que eu executo direto no cmd do windows: mysqldump -u root -psenha -x -e -A > c:\Pasta1\backupTeste.sql
isso gera um backup do meu banco MySQL, só que eu queria uma forma de fazer isso via linha de comando diretamento no delphi
já tentei algumas coisas tipo usar o WinExec, mas sem sucesso.
se alguém puder da um help, ficarei muito grato.
há, eu to usando Delphi 2010 com Windows 7
Valeu!
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.