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

avec Java Discussion :

module pour exporter une base de données automatiquement


Sujet :

avec Java

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2013
    Messages : 6
    Points : 4
    Points
    4
    Par défaut module pour exporter une base de données automatiquement
    Bonjour,

    J'ai besoin d'aide pour écrire le code d'un module de mon application qui permet de sauvegarder ma base de données. J'ai eu à faire des recherches et j'ai vu que, pour exporter, il fallait le faire par une commande à partir de mysqldump mais cela me fatigue : j'ai essayé et le resultat me donne un fichier SQL vide.

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    public class Main {
     
     
        public static void main(String[] args) {
     
     
            String path = "F:/sauvegarde.sql";
            String username = "root";
            String password = "";
            String dbname = "personne";
            String executeCmd = "C:\\wamp\\bin\\mysql\\mysql5.6.17\\bin\\mysqldump.exe -u " + username + " -p "+password +" "+ dbname + " --add-drop-table -B  --databases" + " -r " + path;;
     
     
     
            try {
                String[] commande = {"cmd.exe", "/C",executeCmd };
                Process p = Runtime.getRuntime().exec(commande);
     
                int indiceprocess = p.waitFor();
     
               if(indiceprocess = 0){
     
                  System.out.println("exportation effectuee avec succes");
                }
                else{
                    System.out.println("exportation no effectuee");
            } catch (IOException e) {
                e.printStackTrace();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }    
    }

  2. #2
    Membre chevronné
    Avatar de eulbobo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2003
    Messages : 786
    Points : 1 993
    Points
    1 993
    Par défaut
    Je peux poser une question bête ?
    Pourquoi faire un programme Java pour lancer une commande système?

    Est-ce que l'export fonctionne correctement en ligne de commande? (sinon, il faudra commencer par là)

  3. #3
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Points : 4 792
    Points
    4 792
    Par défaut
    Déjà, comme l'a suggéré eulbobo il faut tester en dehors de java.

    ensuite 3 choses :
    - Il n'y a pas de mot de passe pour l'utilisateur "root" ce qui est étonnant mais bon ...
    - Du coup, tu as mis le "-p" du password avec du vide derrière. Je ne suis pas sûr que cela fonctionne. Il vaudrait mieux essayer sans
    - Tu n'utilises pas le ">" pour envoyer le résultat dans ton fichier "F:/sauvegarde.sql"

    Essaye avec une syntaxe plus simple en ligne de commande du genre :

    mysqldump.exe -u root personne > "F:/sauvegarde.sql"

    Si tu as besoins de plus d'options, poste ton besoin sur le forum MySql
    Une fois que tu auras testé ta ligne de commande alors tu pourras la mettre dans du java si cela te fais plaisir.

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2013
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par eulbobo Voir le message
    Je peux poser une question bête ?
    Pourquoi faire un programme Java pour lancer une commande système?

    Est-ce que l'export fonctionne correctement en ligne de commande? (sinon, il faudra commencer par là)

    oui l'export fonctionne correctement en ligne de commande

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2013
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par Népomucène Voir le message
    Déjà, comme l'a suggéré eulbobo il faut tester en dehors de java.

    ensuite 3 choses :
    - Il n'y a pas de mot de passe pour l'utilisateur "root" ce qui est étonnant mais bon ...
    - Du coup, tu as mis le "-p" du password avec du vide derrière. Je ne suis pas sûr que cela fonctionne. Il vaudrait mieux essayer sans
    - Tu n'utilises pas le ">" pour envoyer le résultat dans ton fichier "F:/sauvegarde.sql"

    Essaye avec une syntaxe plus simple en ligne de commande du genre :

    mysqldump.exe -u root personne > "F:/sauvegarde.sql"

    Si tu as besoins de plus d'options, poste ton besoin sur le forum MySql

    la commnde marche tres tres bien quand je l'utilise exportation est effective

    Une fois que tu auras testé ta ligne de commande alors tu pourras la mettre dans du java si cela te fais plaisir.

  6. #6
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2013
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par eulbobo Voir le message
    Je peux poser une question bête ?
    Pourquoi faire un programme Java pour lancer une commande système?

    Est-ce que l'export fonctionne correctement en ligne de commande? (sinon, il faudra commencer par là)
    Bonjour,

    Je le fais parce que c'est une composante d'une application et l'utilisateur ou du moins les utilisateurs ne sont pas censés connaître ce que c'est que l'invite de commande.

Discussions similaires

  1. probleme pour creer une base de donnee
    Par caroen dans le forum MySQL
    Réponses: 5
    Dernier message: 06/11/2008, 14h50
  2. Réponses: 7
    Dernier message: 18/02/2008, 15h33
  3. [Conception] Outil pour INTERROGER une base de donnees
    Par barthelv dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 03/05/2006, 16h23
  4. pb syntaxe pour exporter une base
    Par azertyuiopp dans le forum Requêtes
    Réponses: 2
    Dernier message: 27/11/2005, 19h18
  5. aide pour exporter une base de donnée
    Par matt55 dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 06/04/2004, 15h28

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