Synthaxe LOAD DATA INFILE incorrecte

Fermé
jbm - 24 sept. 2008 à 14:20
Christounet Messages postés 1263 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 - 25 sept. 2008 à 10:04
Bonjour,
A partir d'un script php, je lance l'importation de données
Le fichier SE_mic_bouclé.txt' contient les données à importer dans la table mic_boucle.
Il se trouve dans le même répertoire que le script php.

date, site, nfsc, aflr, resultats, etat etant les noms de champ de la table mic_boucle
La 1iere ligne du fichier txt contient
DATE;SITE;NFSC;AFLR;RESULTATS DU CIRDEM;ETAT
voici le résultat de la commande Je ne trouve pas l'erreur de synthaxe !



Erreur
requête SQL :

LOAD DATA INFILE 'SE_mic_bouclé.txt' INTO TABLE 'mic_boucle' IGNORE 1 LINES ( date, site, nfsc, aflr, resultats, etat)

MySQL a répondu:


#1064 - 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 ''mic_boucle' IGNORE 1 LINES ( date, site, nfsc, aflr, resultat
merci

3 réponses

Christounet Messages postés 1263 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 1 379
24 sept. 2008 à 14:36
Bonjour,

Je pense que la syntaxe correcte devrait être
LOAD DATA INFILE 'SE_mic_bouclé.txt' INTO TABLE mic_boucle IGNORE 1 LINES

A plus
-1
jayb5561 Messages postés 1 Date d'inscription mercredi 24 septembre 2008 Statut Membre Dernière intervention 24 septembre 2008
24 sept. 2008 à 14:51
merci
j'ai essayé et j'obtiens
Erreur

requête SQL :

LOAD DATA INFILE 'SE_mic_bouclé.txt' INTO TABLE mic_boucle IGNORE 1 LINES

MySQL a répondu:


#1045 - Access denied for user: xxxxxx@%' (Using password: YES)


La localisation du fichier txt dans le mm répertoire que le script php est bien ok ??
qu'en penses tu ?
-1
Christounet Messages postés 1263 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 1 379
24 sept. 2008 à 15:21
Bonjour,

En fait l'erreur que tu as indiques que le mot de passe que tu utilises pour te connecter à Mysql n'est pas correct. Peux-tu vérifier cela stp ?

A plus
-1
Quand je remplace la requete LOAD DATA par une requete SELECT, c'est bon.
En plus ce mdp est utilisé dans d'autres scripts et je n'ai pas de pb.
0
Christounet Messages postés 1263 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 1 379
25 sept. 2008 à 10:04
Bonjour,

J'ai consulté la documentation de Mysql que tu trouveras ici et j'ai trouvé la phrase suivante:
Pour des raisons de sécurité, lorsque les fichiers sont lus sur le serveur, ils doivent se trouver dans le répertoire de la base de données courante, ou bien être lisible par tous. Pour utiliser la commande LOAD DATA INFILE sur des fichiers du serveur, vous devez avoir le droit de FILE sur le serveur
ce qui pourrais expliquer ton problème avec LOAD et pas avec SELECT. Tu trouveras ici les explications concernant les différents droits.
En fait dans la documentation il est aussi expliqué où doit se trouver le fichier sur le serveur (où se trouve ta base de données) et qu'il doit se trouver dans le même répertoire que ta base de données sauf si tu spécifies le chemin complet, cherches après la phrase suivante Lorsque les fichiers de données sont sur le serveur, celui-ci utilise les règles suivantes dans le premier lien, c'est là que c'est expliqué.
A plus
-1