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

JDBC Java Discussion :

INTO OUTFILE (Fichier non créé & aucune erreur)


Sujet :

JDBC Java

  1. #1
    Membre du Club Avatar de tentsuken
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Points : 54
    Points
    54
    Par défaut INTO OUTFILE (Fichier non créé & aucune erreur)
    Bonjour,

    J'aimerais enregistrer les information d'une base via la méthode SELECT INTO OUTFILE...

    J'ai donc écris:
    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
     
            // COPIE DE LA BDD :
            //-----------------
            // CONNEXION BDD
            // ------------------------
            uneConnexionHost.connect();
            // REQUETE BDD
            // ------------------------
            //String requete = "SELECT * FROM clientinfo_client ";
            String requete ="SELECT * FROM clientinfo_client INTO OUTFILE 'C:\\toto.txt'";
            try {
                uneConnexionHost.SQLUpdate(requete);
                System.out.println("Yo !");
            } catch (SQLException ex) {
                ex.printStackTrace();
            }
    j'ai donc d'afficher "yo" cependant le fichier teste.txt n'as pas été créé. Quelqu'un peut il m'aider ?

    Je précise que la connexion a ma ce fait correctement car une requete de select simple fonctionne.

    Cordialement,
    Tentsuken

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    on peux voir ce que fait "uneConnexionHost.SQLUpdate(requete);" ? uneConnexionHost c'est quelle class ça, je trouve pas de classe dans l'api jdbc qui possède de méthode "SQLUpdate(String)"

  3. #3
    Membre du Club Avatar de tentsuken
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Points : 54
    Points
    54
    Par défaut
    Dans ma classe accesBDDHost.java je me sert de 4 méthodes:

    - .connect ( qui etabli la connexiona ma bdd)
    - .disconnect ...
    - .SQLSelect(String) qui me sert pour mes SELECT ...
    - .SQLUpdate(String) qui me sert pour les INSERT et les UPDATE

    Voici donc le code des 2 dernières méthodes énoncées :

    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
     
     
        public ResultSet SQLSelect(String sql) throws SQLException {
            Statement statement = null;
            ResultSet result = null;
            try {
                statement = connection.createStatement();
                result = statement.executeQuery(sql);
                System.out.println("Execution de la requête réussie");
                return result;
            } catch (SQLException e) {
                e.printStackTrace();
                System.out.println("L'execution de la requête a échouée");
                result.close();
                statement.close();
                return null;
            }
        }
     
        public void SQLUpdate(String sql) throws SQLException {
            Statement statement = null;
            try {
                statement = connection.createStatement();
                statement.executeUpdate(sql);
            } catch (SQLException e) {
                statement.close();
            }
        }
    Cordialement,
    Tentsuken

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    tout d'abord un select n'est pas un update, utilise donc executeQuery. Ensuite, si tu n'a pas d'erreur apparenter malgrès ce sql inccorect, c'est à cause de ce code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            } catch (SQLException e) {
                statement.close();
            }
        }
    remplace le par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            } catch (SQLException e) {
                e.printStacktrace();
                statement.close();
            }
        }
    et tu verra que c'est vraisemblablement ton sql qui n'est pas correct (onto ne fait pas partie du standard sql)

  5. #5
    Membre du Club Avatar de tentsuken
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Points : 54
    Points
    54
    Par défaut
    Ok, j'ai donc remplacer ceci :

    - mysqlUpdate par MysqlQuery
    - Message d'erreur

    soit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
        public void SQLUpdate(String sql) throws SQLException {
            Statement statement = null;
            try {
                statement = connection.createStatement();
                statement.executeQuery(sql);
                System.out.println("Execution de la requête réussie");
            } catch (SQLException e) {
                System.out.println("L'execution de la requête a échouée");
                statement.close();
                e.printStackTrace();
            }
        }
    J'ai donc ceci comme erreur :

    run:
    java.sql.SQLException: Can't create/write to file 'C: oto.txt' (Errcode: 22)
    L'execution de la requête a échouée
    Cordialement,
    Tentsuken

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    apparament ton mysql prend le \t comm une instruction de tab. Essaie de doubler le \ (ce qui veux dire le quadrupler au niveau de java :s)

    note que je pense, sans etre certains, que le fichier va etre créé coté serveur, pas coté client!

  7. #7
    Membre du Club Avatar de tentsuken
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Points : 54
    Points
    54
    Par défaut
    Effectivement si je met

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String requete ="SELECT * FROM clientinfo_client INTO OUTFILE 'trouvemoi.txt'";
    Cela fonctionne.. Enfin presque puisque je ne trouve pas de fichier (même avec la recherche windows) trouvemoi.txt autant sur le poste client ( depuis lequel j'exécute le programme) que sur le serveur ( celui ou est la BDD).

    Donc 2 option ...
    - Soit la recherche Windows XP & Vista est défectueuse ainsi que mes yeux...
    - Soit le fichier n'as pas été créé malgré qu'il n'y est aucune erreur et donc retour a la case départ.

    Si vous avez des idées ?

    Petite précision si je met :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String requete ="SELECT * FROM clientinfo_client INTO OUTFILE 'C:\\montoto.txt'";
    Aucune erreur, mais toujours aucun fichier "montoto.txt" sur le C:// des 2 PC.

    Cordialement,
    Tentsuken

  8. #8
    Membre du Club Avatar de tentsuken
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Points : 54
    Points
    54
    Par défaut
    Attention, je vient de relancer mon programme ( par desespoir) et la il me dit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    L'execution de la requête a échouée
    java.sql.SQLException: Le fichier 'C:montoto.txt' existe déjà.
    Maintenant reste a le trouver, les recherches windows ne donne rien

    Cordialement,
    Tentsuken

  9. #9
    Membre du Club Avatar de tentsuken
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Points : 54
    Points
    54
    Par défaut
    Ok j'ai trouver les fichier son bien du coté serveur dans le répertoire :

    C:\Program Files\EasyPHP1-8\mysql\data\

    Merci pour ton aide !

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

Discussions similaires

  1. [XL-2013] Macro non fonctionnelle mais aucune erreur.
    Par Jabbabi dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/04/2015, 22h57
  2. [Free Pascal] Erreur de lecture de fichier non typé
    Par bubulemaster dans le forum Free Pascal
    Réponses: 5
    Dernier message: 05/02/2010, 14h14
  3. [QuickReport 4] Erreur fatale : fichier non trouvé
    Par osma_1978 dans le forum QuickReport
    Réponses: 3
    Dernier message: 05/05/2008, 07h10
  4. Erreur 1045 avec select into outfile
    Par mikaelm dans le forum Administration
    Réponses: 7
    Dernier message: 18/08/2005, 14h45
  5. [Debutant][Install][VS]erreur sur fichier non trouvé.
    Par silvermoon dans le forum DirectX
    Réponses: 4
    Dernier message: 16/07/2004, 20h59

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