Exporter une base de données

Signaler
Messages postés
12
Date d'inscription
lundi 28 avril 2008
Statut
Membre
Dernière intervention
22 avril 2009
-
Messages postés
12
Date d'inscription
lundi 28 avril 2008
Statut
Membre
Dernière intervention
22 avril 2009
-
Bonjour bonjour

Pour ceux qui n'aurait pas lu mon premier post, et je sais que vous êtes nombreux, je réalise en ce moment un projet dans le cadre de mon bts iris (n'y allez pas!).

Je dois pouvoir exporter une base de donnée a la manière de mysql mais sans myslq...pas super pratique mais obligatoire.

j'ai tenté d'ouvrir l'invite de commande pour effectuer un mysqldump, le problème c'est que mon fichier de sauvegarde se créé mais ne contient rien.
comment faire? où me trompe-je? merci de m'indiquer la voie a suivre pour enfin finir ce *censuré* de projet!


void Sauvegarder()
{
JFileChooser filechoose = new JFileChooser();
filechoose.setCurrentDirectory(new File("."));
String approve = new String("ENREGISTRER");
int resultatEnregistrer = filechoose.showDialog(filechoose,approve);
if (resultatEnregistrer ==JFileChooser.APPROVE_OPTION)
{ String monFichier= new String(filechoose.getSelectedFile().toString());
if(monFichier.endsWith(".sql")|| monFichier.endsWith(".SQL"))
{
;
}
else
monFichier = monFichier+ ".sql";
String cmd="cmd /c mysqldump -u root -h http://127.0.0.1/home/mysql --opt geode > "+monFichier;
Runtime r =Runtime.getRuntime();
try {
Process p = r.exec(cmd);
p.waitFor();
} catch (IOException e) {
System.out.println(e.toString());
} catch (InterruptedException e) {
System.out.println(e.toString());
}
System.out.println("sauvegarde effectuée");
}
}

2 réponses

Messages postés
12
Date d'inscription
lundi 28 avril 2008
Statut
Membre
Dernière intervention
22 avril 2009

Bon en fait j'ai trouvé au moins une partie de la réponse. la syntaxe n'est pas bonne. je ne remet que la partie qui nous interesse maintenant que le code est écrit au dessus

String cmd="cmd /c mysql -h 127.0.0.1 -u root geode > "+monFichier;

les yeux les plus agueris auront remarqué que  mysqldump s'est changé en mysql.

lorsque j'execute sur l'invite de commande sans avoir la redirection j'ai un messafe de bienvenue sur le moniteur mysql. on m'indique que les commande se terminent par ; ou \g

je tape donc la commande suivante:
mysql> mysql -h 127.0.0.1 -u root geode;

etlà un message m'indique une erreur de syntaxe a la ligne 1 .....

quelqu'un pourait-il m'indiquer la syntaxe a suivre s'il vous plait?
Messages postés
12
Date d'inscription
lundi 28 avril 2008
Statut
Membre
Dernière intervention
22 avril 2009

Bon pour cexu qui auraient la même chose a faire un jour (on sait jamais) voilà la solution trouvée a force de tatonement:

private String ip /*= adresse ip du serveur*/;
    private String user /*=nom d'utilisateur du compte ayant tous les droits*/;
    private String password /*=mot de passe du compte ayant tous les droits*/;

void Sauvegarder()
    {
        JFileChooser filechoose = new JFileChooser();
        filechoose.setCurrentDirectory(new File("."));
        String approve = new String("ENREGISTRER");
        int resultatEnregistrer = filechoose.showDialog(filechoose,approve);
        if (resultatEnregistrer ==JFileChooser.APPROVE_OPTION)
        { String monFichier= new String(filechoose.getSelectedFile().toString());
           if(monFichier.endsWith(".sql")|| monFichier.endsWith(".sql"))
           {
               ;
           }
           else
               monFichier = monFichier+ ".sql";
              
        String cmd="cmd /c mysqldump -u "+user+" -p"+password+" --opt nom_de_la_table -h "+ip+" > "+monFichier;
                             
        Runtime r =Runtime.getRuntime();
        try {
            Process p = r.exec(cmd);
            p.waitFor();
        } catch (IOException e) {
            System.out.println(e.toString());
        } catch (InterruptedException e) {
            System.out.println(e.toString());
        }
        System.out.println("sauvegarde effectuée");
        }
    }

Et surtout n'oubliez pas de mettre mysqldump.exe dans le dossier ou s'execute votre code ou alors indiquez le chemin absolu vers l'exe.

tschitschi vous powned