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 :

Importer des donnees avec fichier txt


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 33
    Par défaut Importer des donnees avec fichier txt
    bonjour,

    je voudrai importer les donnees que j'avais dans une base access. je les est donc exporter en .txt et j'ai recreer ma base avec mysql. le probleme est que je n'arrive pas a importer les infos du fichier.
    j'utilise la commande suivante : LOAD DATA LOCAL INFILE 'C:\\student.csv' INTO TABLE `student`
    il n'y a pas d'erreur mais cela me dit : Nombre d'enregistrements insérés : -1 (traitement: 0.0007 sec.)

    savez vous comment faire?

    merci de votre aide
    flOZ

  2. #2
    Membre Expert
    Avatar de Adjanakis
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    739
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2004
    Messages : 739
    Par défaut
    Bonjour,

    Sur quel ordinateur se trouve :
    • la base de données
    • le fichier à importer
    • la personne exécutant le script
    En fait, j'ai une interrogation par rapport au mot 'LOCAL'.

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 129
    Par défaut
    Tu dois aussi définir les séparateurs de champs dans ton LOAD DATA INFILE

    ++

  4. #4
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 33
    Par défaut
    Citation Envoyé par Adjanakis
    Bonjour,

    Sur quel ordinateur se trouve :
    • la base de données
    • le fichier à importer
    • la personne exécutant le script
    En fait, j'ai une interrogation par rapport au mot 'LOCAL'.
    la base de données se trouve sur un serveur distant
    le fichier a importer est sur mon PC (je l'ai au format TXT et CSV)

    j'ai egalement essayer de placer le fichier a la racine sur le serveur mais j'ai pas reussi non plus

    Prenons un exemple peut etre que je comprendrais. J'ai un fichier student.txt qui se prensente comme ca:
    "ID" "Last_Name" "FirstName"
    1 "OZ" "FLO"
    2 "mon nom" "mon prenom"
    separer par des tab qui se termine par un \n et delimiter par des "" sauf le pour l'id
    je fais donc : LOAD DATA LOCAL INFILE 'C:\\student.txt' INTO TABLE `student` FIELDS TERMINATED BY '\t' ENCLOSED BY '"' LINES TERMINATED BY '\n';
    pouvez vous m'expliquer pourquoi ca ne marche pas? est ce un probleme d'acces au fichier a cause du local?

    merci de votre aide car je suis vraiment perdu

  5. #5
    Membre Expert
    Avatar de Adjanakis
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    739
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2004
    Messages : 739
    Par défaut
    C'est vrai, pour importer du format csv il faut ajouter les options citées précédemment. Cependant ici le vrai problème, à mon humble avis, c'est que la commande répond que -1 enregistrement a été ajouté.

    • Quel est l'outil utilisé pour envoyer les requêtes ?
    • Quelle est la version de MySQL utilisée ?
    • As-tu fais les vérifications suggérée implicitement par le lien que tu as donné ?(--local-infile=0, etc...)

  6. #6
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 33
    Par défaut
    POur envoyer la requete j'utilise phpMyAdmin - 2.8.0.1 et ma base est uneMySQL - 4.1.14-log

    pour ce qui est des commande tel que
    l'option --local-infile=0 j'en est essayé certaine mais sans succes

  7. #7
    Membre Expert
    Avatar de Adjanakis
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    739
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2004
    Messages : 739
    Par défaut
    Serait-il possible de tenter l'expérience avec un bon vieux mysql(l'utilitaire) ?

  8. #8
    Invité
    Invité(e)
    Par défaut
    A priori format csv = séparateur virgule.
    Par défaut MySql utilise une tabulation.
    Déjà ça ne risque pas de marcher.
    Ajoute:
    TERMINATED BY ','

    si le séparateur est une virgule.

    La fin de ligne peut aussi être un problème, dans ce cas:
    LINES TERMINATED BY '<ce qui va bien>';

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/03/2015, 19h45
  2. importer des donnees txt dans Excel
    Par bakaratoun dans le forum Excel
    Réponses: 0
    Dernier message: 06/02/2011, 14h20
  3. Réponses: 21
    Dernier message: 03/03/2010, 19h09
  4. Importation des mails avec Kmail et Thunderbird ?
    Par axel-erator dans le forum Applications et environnements graphiques
    Réponses: 6
    Dernier message: 30/11/2004, 00h36
  5. importer des donnees dans interbase
    Par ms91fr dans le forum InterBase
    Réponses: 3
    Dernier message: 25/11/2002, 17h43

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