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

Requêtes MySQL Discussion :

Importation d'un fichier


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Avatar de Wormus
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Par défaut Importation d'un fichier
    Mon logiciel à besoin d'importer dans une nouvelle base de données un fichier texte (.CSV mais c'est pas le problème) !!
    J'ai donc fais des des tests directement sur PHPMyAdmin pour voir comment cela fonctionne
    J'ai crée une bdd et j'ai mis 2 tables avec quelques données dedans ! jusque là pas de problème et heureusement ^^
    Et ensuite j'ai regardé comment ré-importé le fichier seulement je me suis aperçu que je devais le faire de façon manuel et pas du tout de façon automatique

    requête exécuté :

    requête SQL:
    "1";

    "aa" "2";

    "bb" "3";

    "cc" "4";

    "dd" "5";

    "ee" "6";

    "ff" "1";

    "az";

    "ze" "2";

    "er";

    "rt" "3";

    "ty";

    "yu" "4";

    "ui";

    "io"
    Le gros problème c'est que la requête effectué connais déjà les données contenu dans le fichier, en fait elle va uvrir le fichier et fabrique la requête à partir de ce qu'elle trouve dans le fichier !!
    Et là ça me pose un problème vu que je veux que mon logiciel le fasse tout seul !! moi j'aurais aimé que la dans la requête il y ai quelque chose comme
    import "truc.csv";
    (oui je c elle semble improbable cette requête mais elle m'aurais aidé !! ^^)

    Enfin bon tout ça pour demander est ce que je vais être obligé d'écrire le script qui va rechercher dans le fichier et créer la requête correspondante ou est ce que il n'y aurait pas déjà un script ou je ne sais quoi qui me fasse pas perdre trop de temps ??

  2. #2
    Membre Expert Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Par défaut
    Bonjour,

    Tu as regardé dans la ?

    http://mysql.developpez.com/faq/?pag...import_fichier

  3. #3
    Membre très actif
    Avatar de Wormus
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Par défaut
    Non quand j'ai un problème comme celui là je viens directement le poser sur le forum parce que je dois être maudit vu que à chaque fois que je recherche quelque chose je tombe sur tout sauf sur ce que je veux (faudra que je pense à faire une recherche qui n'a rien avoir peut être comme ça je trouverais !! ^^)
    Ah mais je viens de me rendre compte que c'est toi qui a écrit dans la FAQ !! ah c pour ça que tu as trouvé si facilement ^^

    Enfin bon tout ça pour dire que ya quand même pas mal de chose interressante sur la FAQ !! et que cette requête risque de beaucoup m'aider

    SAUF QUE ^^ j'arrive pas à la faire fonctionner avec mon fichier !! aïe
    bon déjà sur la FAQ, ya écrit
    LOAD DATA [LOCAL] INFILE 'nom_fichier' INTO nom_table
    alors que qd on vérifie sur le site c'est plutôt
    LOAD DATA [LOCAL] INFILE 'nom_fichier' INTO TABLE nom_table
    mais bon ça c'est vite corrigé mais après ma requête fonctionne bien sauf que comme seul résultat j'ai :
    Nombre d'enregistrements insérés : -1
    alors que j'en ai des enregistrements moi !!

    Quelqu'un a t-il déjà utilisé cette requête ?? pour m'expliquer

    PS: ya d'autres options après j'ai essayé rapidement (peut être ya une erreur ici)

  4. #4
    Membre très actif
    Avatar de Wormus
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Par défaut
    Bon bah après un nombre d'essais incalculable et un nombre d'echec aussi important, j'ai fini par utiliser exactement leur exemple en créant le fichier texte et en lançant la requête et ça marche tjr pas !!!!!!

    Vive MySQL !!

    Si qq'un a envie de refaire remonter MySQL dans mon estime qu'il hésite pas en me démontrant que j'ai fais une erreur qq part et que la requête fonctionne belle et bien !!

    C con à dire mais je crois que j'irai plus vite en ré-écrivant le script qui permet de faire la même chose que la requête, ce sera surment moins optimisé mais au moins ça fonctionnera


  5. #5
    Membre Expert Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Par défaut
    Citation Envoyé par Wormus
    bon déjà sur la FAQ, ya écrit
    LOAD DATA [LOCAL] INFILE 'nom_fichier' INTO nom_table
    alors que qd on vérifie sur le site c'est plutôt
    LOAD DATA [LOCAL] INFILE 'nom_fichier' INTO TABLE nom_table
    mais bon ça c'est vite corrigé
    Effectivement y a une coquille là

    Citation Envoyé par Wormus
    Bon bah après un nombre d'essais incalculable et un nombre d'echec aussi important, j'ai fini par utiliser exactement leur exemple en créant le fichier texte et en lançant la requête et ça marche tjr pas !!!!!!
    [...]
    Pas la peine de s'énerver. Es-u sûr d'avoir testé toutes les possibilités (FIELDS ENCLOSED BY ... LINES TERMINATED BY ...) ? MySQL arrive-t-il vraiment à trouver le fichier ?

    Souvent les problèmes les plus agaçants ont des causes toutes bêtes. Si tu nous donnes plus de précisions (commande exacte utilisée, emplacement du fichier...) on pourra peut-être t'aider.

    Il n'y a pas de raison qu'une commande éprouvée par des millions d'utilisateurs ne fonctionne pas.

  6. #6
    Membre très actif
    Avatar de Wormus
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Par défaut
    T'inkiète m'en faut plus pour m'enerver, j'ai essayer la technique de m'attaquer à MySQL pour que les gens réagissent et viennent me donner une solution !! technique très efficace normalement mais là je pense que le lundi matin ya du monde qui dort 8)

    Enfin bon je vais donner le derner code que j'ai fais avant d'abandonner :

    fichier texte: blagues.txt (c l'exemple de MySQL sauf que j'ai pas le temps d'écrire des blagues )
    "hahaha"§§"hihihi"§§"hohoho"§§"hehehe"
    requête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    CREATE TABLE blagues (
       a INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 
       blague TEXT NOT NULL
       );
    LOAD DATA LOCAL INFILE "C:\blagues.txt" INTO TABLE blagues FIELDS TERMINATED BY ""
    LINES TERMINATED BY "§§" (blague);
    à part quelques modifications, c la même requête que sur http://dev.mysql.com/doc/refman/5.0/fr/load-data.html

    Et en résultat j'ai (avec PHPMyAdmin):
    Erreur
    requête SQL:

    LOAD DATA LOCAL INFILE "C:\blagues.txt" INTO TABLE blagues FIELDS TERMINATED BY "" LINES TERMINATED BY "§§"(

    blague
    )
    MySQL a répondu:

    Et non je n'ai pas mal copier l'écran !! comme erreur je n'est rien mais j'ai une erreur !!

  7. #7
    Membre Expert Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Par défaut
    Citation Envoyé par Wormus
    T'inkiète m'en faut plus pour m'enerver, j'ai essayer la technique de m'attaquer à MySQL pour que les gens réagissent et viennent me donner une solution !! technique très efficace normalement mais là je pense que le lundi matin ya du monde qui dort 8)
    Moi j'ai plutôt eu l'impression que tu étais le genre d'utilisateur qui accuse un produit de tous les maux lorsque le moindre problème se présente et qui l'encense quand tout va bien, mais je me trompe peut-être

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE TABLE blagues (
       a INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 
       blague TEXT NOT NULL
       );
    LOAD DATA LOCAL INFILE "C:\blagues.txt" INTO TABLE blagues FIELDS TERMINATED BY ""
    LINES TERMINATED BY "§§" (blague);
    Essaie avec LOAD DATA INFILE 'C:\\blagues.txt' pour voir...

    Mets aussi un autre délimiteur que §§ (un peu cabalistique) et des quotes au lieu de guillemets doubles...

  8. #8
    Membre très actif
    Avatar de Wormus
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Par défaut


    Oéééé !!!!!!!!!! MySQL c'est trop bien !!!!

    Citation Envoyé par Maximilian
    Moi j'ai plutôt eu l'impression que tu étais le genre d'utilisateur qui accuse un produit de tous les maux lorsque le moindre problème se présente et qui l'encense quand tout va bien, mais je me trompe peut-être
    Arff t'as peut être raison

    Enfin bon le problème venez juste de l'antislash à rajouter
    C:\\...
    Mais qu'est que je suis con !!!

    8) Merci merci Maximilian et je dit pas merci aux autres qui m'ont pas aidés (enfin sauf ceux qui m'aide sur mes autres problèmes et puis aussi ceux qui aide d'autres personnes et puis ...)

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 23/11/2005, 18h20
  2. Importation automatique de fichier .dbf
    Par hysteresis dans le forum Access
    Réponses: 6
    Dernier message: 28/10/2005, 07h16
  3. Réponses: 7
    Dernier message: 04/10/2005, 18h21
  4. importation d'un fichier excel à destination finale : delphi
    Par pier dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 24/09/2005, 23h23
  5. importation d'un fichier texte vers excel
    Par darkpocket dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/01/2005, 11h47

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