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 :

Syntax error LOAD DATA INFILE


Sujet :

Requêtes MySQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 70
    Points : 77
    Points
    77
    Par défaut Syntax error LOAD DATA INFILE
    Bonjour à toutes et à tous,

    Je sais, en lisant le titre vous vous dites 'encore cette commande !'. Et oui, et j'ai parcouru le forum sans trouver de réponse à mon pb que voici :

    Il faut que je récupère quotidiennement des données à partir d'un fichier CSV. Pour cela, je me suis dit que j'allais faire un petit batch, histoire d'être tranquille. J'ai commencé par écrire et tester ma requête sur EMS MySQL manager (très bon outil d'ailleurs), et tout fonctionne correctement, les données s'intègre, pas de pb.

    J'écris mon batch et voilà que j'ai une erreur :

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
    Sql: LOAD DATA INFILE 'C:\\Documents and Settings\\mondossier\\ExportEDIEntete.csv'

    Pas content , je vérifie la syntaxe, et relance la requete à l'aide de l'outil fournit par MySQL - MySQL Query Browser. Et là patatrac tout fonctionne à nouveau correctement.

    Voici la requete en question :

    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
     
     
    LOAD DATA INFILE 'C:\\Documents and Settings\\mondossier\\ExportEDIEntete.csv'
    INTO TABLE importedi
    FIELDS TERMINATED BY ';'
    LINES TERMINATED BY '\r\n'
    IGNORE 1 LINES
    (Entreprise,NumeroFacture,NumeroCommande,DateFacturation,CodeClient,NomLivraisonClient,
      AdresseLivraisonClient,CodePostalLivraisonClient,VilleLivraisonClient,PaysClientLivraison,
      PaysClientLivraison2,CodeDevise,CodeConditionLivraison,LieuConditionLivraison,TotalArticles,
      TotalFrais,TotalDeduction,NetAPayer,TotalPoidsNet,TotalPoidBrut,TotalVolume,TotalColis,
      NbLigneFacture,FlagCEE,NatureTransaction,PaysOrigine,ModeTransportFrontiere,
      NationaliteTransportFrontiere,ModeTransportInterieur,IndexConteneur,IdentiteTransport,
      IdentiteTransportDepart,BureauSortieEntree,AutorisationEntreeRegimeEconomique,
      AutorisationSortieRegimeEconomique)
    SET DateExtraction = DATE(Now())
    Pour aujourd'hui j'abandonne histoire d'avoir un peu de recul, cependant si quelqu'un peut me dire où se situe l'erreur, je serai très content.

    Petits détails qui peuvent êtres utiles :

    • Mon compte a le privilège FILE, il a d'ailleurs tous les privilèges puisque je suis sur une base de test en local.
    • Le fichier à importer a les droits d'accès en lecture pour tous les utilisateurs.
    • Le problème persiste même si je déplace le fichier à importer dans le répertoire de la base de données.
    • La version de MySQL est la suivante : 5.0.51b-community-nt


    D'avance merci.

    @+

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 70
    Points : 77
    Points
    77
    Par défaut
    Re bonjour à tout le monde,

    J'ai bien fait de passer à autre chose, et la nuit porte conseil. Après une nième vérification de la syntaxe de la commande, je me suis tout de même décidé à lire de manière plus assidu le fichier d'aide du soft que j'utilise pour effectuer les transferts (je sais, j'aurai du commencer par là, mais on est tous pareils non !). Il s'avère que celui-ci a la contrainte suivante :

    • La requête SQL doit obligatoirement être sur une seule et unique ligne (va falloir qu'on m'explique ce qu'ont certaines personnes à développer des choses pareils, et en plus ils vendent ce truc plusieurs milliers d'euros, c'est à se taper le cul par terre ! Va falloir que je me calme , mais bon perdre une demi journée à cause de ce genre de conneries, cela me rends )


    Mon problème est donc résolu, et il n'avait rien a voir avec un problème de syntaxe ou de commande mal utilisée.

    Bonne journée, et à bientôt.

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

Discussions similaires

  1. [MySQL] Syntaxe requête LOAD DATA INFILE avec php
    Par yann123456 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 18/08/2010, 23h40
  2. Réponses: 5
    Dernier message: 18/04/2005, 12h38
  3. probleme avec "LOAD DATA INFILE" et les b
    Par Koo dans le forum Requêtes
    Réponses: 2
    Dernier message: 01/07/2004, 09h37
  4. Problème avec LOAD DATA INFILE
    Par ka0z dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 04/06/2004, 14h59
  5. petit soucis lors d'un LOAD DATA INFILE
    Par Jovial dans le forum SQL Procédural
    Réponses: 9
    Dernier message: 04/06/2004, 11h58

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