IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

Lancer un backup (dump) sur MySQL


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Owner
    Inscrit en
    Décembre 2004
    Messages
    478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Owner
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2004
    Messages : 478
    Par défaut Lancer un backup (dump) sur MySQL
    Bonjour,
    Qunad je lance cette requète via delphi, le dump (.sql) est vide?!?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ShellExecute(1,'open',PChar('cmd.exe '),pchar('C:\wamp\bin\mysql\mysql5.6.12\bin\mysqldump -uroot -pblabla DbaseName > c:\temp\backup.sql'),nil,sw_Hide);
    Merci pour votre aide
    Phil

  2. #2
    Membre Expert

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 296
    Par défaut
    Je le lancerai plutôt de cette façon:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ShellExecute(1,'open',PChar('C:\wamp\bin\mysql\mysql5.6.12\bin\mysqldump -uroot -pblabla DbaseName > c:\temp\backup.sql'),nil,nil,sw_Hide);

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 635
    Billets dans le blog
    65
    Par défaut
    Et moi par un mix entre ces deux solutions

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ShellExecute(1,'open',PChar('C:\wamp\bin\mysql\mysql5.6.12\bin\mysqldump.exe'),pchar('-uroot -pblabla DbaseName > c:\temp\backup.sql'),nil,sw_Hide);
    et encore passerai-je plutôt pas un ShellExecuteAndWait

  4. #4
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 786
    Par défaut
    Bonjour,

    Pourquoi le paramètre Handle est à 1 dans ShellExecute ? 0 ou Application.Handle serait plus approprié...
    http://delphi.developpez.com/faq/?pa...ion-exterieure

    ShellExecuteAndWait implique l'installation de la J(edi)CL.
    Sinon on peut utiliser ShellExecuteEx
    http://www.developpez.net/forums/d14...hellexecuteex/
    ou encore CreateProcces
    http://delphi.developpez.com/faq/?pa...ion-exterieure

  5. #5
    Membre éclairé
    Homme Profil pro
    Owner
    Inscrit en
    Décembre 2004
    Messages
    478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Owner
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2004
    Messages : 478
    Par défaut
    Finalement voici la solution:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ShellExecute(1,'open',PChar('cmd.exe '),pchar('/c C:\wamp\bin\mysql\mysql5.6.12\bin\mysqldump.exe -uroot -p123 DBTest>c:\temp\backup.sql'),nil,SW_SHOW);
    sans vraiment comprendre ce qu'est ce "/c"




  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 635
    Billets dans le blog
    65
    Par défaut
    Citation Envoyé par PhilLU Voir le message
    sans vraiment comprendre ce qu'est ce "/c"
    le premier PChar c'est le programme à exécuter , le second ses paramètres (normalement)
    le /c indique que c'est une commande "complète" (programme + paramètres) qu'il faut interpréter
    Sysntaxe Cmd.exe et +

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SQL] Lancer requetes SQL périodiquement sur serveur mysql (easyphp)
    Par bilou95 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 03/12/2007, 12h33
  2. [MySQL] Dump tables:éviter backup manuel sur phpmyadmin
    Par thierry198 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 14/12/2005, 13h55
  3. possible sur MySQL 4.0 ?
    Par djforest dans le forum Langage SQL
    Réponses: 7
    Dernier message: 06/06/2003, 09h49
  4. [sgbd] Backup de tables MySQL auto, qqun sait ???
    Par Joelindien dans le forum SGBD
    Réponses: 31
    Dernier message: 26/05/2003, 17h59
  5. Lancer un programme, mais sur une autre machine
    Par GOUGOU1 dans le forum Réseau
    Réponses: 12
    Dernier message: 08/12/2002, 20h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo