Mysqldump

Fermé
prince4878 Messages postés 149 Date d'inscription jeudi 27 mars 2003 Statut Membre Dernière intervention 3 avril 2010 - 16 avril 2008 à 21:41
Rematrix Messages postés 115 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 16 juillet 2008 - 22 avril 2008 à 14:11
SALUT tout le monde, en utilisant le mysqldump  j'ai rencontré quelques problemes !.
voila le code que j'utilise :

ShellExecute(Handle, 'open', 'C:\wamp\mysql\bin\mysqldump.exe',PChar(' -u userName -ppass --opt db_name> c:\myBackUp.sql'), nil, SW_SHOWNORMAL);
ShowMessage(SysErrorMessage(GetLastError));

le message affiché est : opération réussie, mais je ne trouve pas le fichier myBackUp.sql.
s'il vous plait aidez moi.    merci

7 réponses

Rematrix Messages postés 115 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 16 juillet 2008
19 avril 2008 à 12:30
Quel est ta version de Mysql server que tu utilise ?
0
prince4878 Messages postés 149 Date d'inscription jeudi 27 mars 2003 Statut Membre Dernière intervention 3 avril 2010
19 avril 2008 à 19:28
mysql 5.0.45
0
Rematrix Messages postés 115 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 16 juillet 2008
20 avril 2008 à 12:49
je voie, alors éssay d'abord de fair la même chose mais sous dos, si ça ne marche pas tj voila une autre option:
mysqlhotcopy  DB_name nouveau_repertoire, mais elle ne marche que sur les table type Myisam et Archive bon c pas un problem mais le problem c que ça ne marche pas aussi que sur UNIX et Netware, tu peut le faire sous Windows mais ont utilsant Active perl script(qui interprète les scripts perl sous windows) , bien sur tu sera sur localhost si non ça ne marche pas.
remaque :tu peut utiliser d'autre interprete comme le TCL/TK ou autre de ton choix.

Matrix

Pensez à cliquer sur [c.aspx?u=aHR0cDovL3d3dy5wZXRhdHYuY29tL3R2cG9wdXAvdmlkZW8uYXNwP3ZpZGVvPWZ1cl9mYXJtJmFtcDtQbGF5ZXI9d20mYW1wO3NwZWVkPW1lZA== Réponse acceptée] lorsque la réponse vous convient.
0
prince4878 Messages postés 149 Date d'inscription jeudi 27 mars 2003 Statut Membre Dernière intervention 3 avril 2010
20 avril 2008 à 22:49
merci, finalement j'ai trouvé la solution avec MYSQLDUMP :

ShellExecute(0, 'open', 'cmd',PChar('/k mysqldump.exe -u USER -pPASS --opt NOM_BDD >backup.sql'),nil ,SW_SHOWNORMAL);

à condition que le MYSQLDUMP soit dans le meme dossier que mon application.
Maintenant je veux que faire passer une DEUXIEME commande sur la meme fenetre du shell, mais j'arrive pas, y'a t-il un idée ?? merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Rematrix Messages postés 115 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 16 juillet 2008
21 avril 2008 à 11:14
oui, commande MSdos, tu trouvera un composant que tu permettras de faire des commande Msdos sur "torry's".

Matrix
0
prince4878 Messages postés 149 Date d'inscription jeudi 27 mars 2003 Statut Membre Dernière intervention 3 avril 2010
21 avril 2008 à 21:33
merci, mais comme je suis nouveau en DELPHI donc j'ai pas bien saisi ce que tu veux dire , si tu peux être plus explicite.   merci
0
Rematrix Messages postés 115 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 16 juillet 2008
22 avril 2008 à 14:11
simple, le delphi vas ouvrire commande msdos on mode hide, et lancé les commande puis récupirer le resultat, comme si par exemple tu fais: Démarrer-->excuter-->cmd
cd\
cd c:\mysql\Bin\mysqld --console //***tu sais ce que veux dire huh!
et tu recpret ce que le resultat du MsDos
Windows xp 5.0.1 service pack2 //***balbla
....
....
Version mysql 4.2.1 Max /***blabla

alors tu utilise se composant par ce que si non il faut creat ton propre out in thread les buffers et de pipe tros simple je saisokay pas grave.

moi je l'ai utulisé avant pour faire un gestionnaire de mysql server voilà ce que j'ai fait pour la partie que tu parle.

procedure TF_HS.Demarserv;
const ACRLF:Boolean=True;
Var  MaCommande,c :String;

begin
DosCommand1.CommandLine :='Cmd.exe';
  //Lance le programme console
 DosCommand1.Execute;
 DosCommand1.SendLine('', ACRLF);
 DosCommand1.SendLine('cd\', ACRLF);
   c:=copy(ExtractFilePath(Application.ExeName),0,2);
 DosCommand1.SendLine(c,ACRLF);
 MaCommande:='cd '+ExtractFilePath(Application.ExeName)+'\mysql\bin\';
  DosCommand1.SendLine(MaCommande, ACRLF);
 MaCommande:='mysqld --console' ;
 DosCommand1.SendLine(MaCommande, ACRLF);
end;
j'éspere que tu sais de quoi je parle le composant ça s'appel Doscommande.
Matrix
0