Rechercher : dans
Par :

Synthaxe LOAD DATA INFILE incorrecte

Dernière réponse le 25 sep 2008 à 10:04:13 jbm, le 24 sep 2008 à 14:20:30 
 Signaler ce message aux modérateurs

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

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « synthaxe LOAD DATA INFILE incorrecte » dans :
MySQL - Chargement d'un fichier texte dans une table VoirPour charger une fichier texte défini comme suit : $ tail /home/user1/test.txt 'nom1',1,9 'nom2',2,3 'nom3',3,54 'nom4',4,2 'nom5',5,9 Dans une table définie comme suit : CREATE TABLE chargertest ( ...
Unable to load dynamic library '/usr/lib/php4/20020429/mysql.so VoirVous obtenez un message du type suivant suite à une mise à jour de PHP : Unable to load dynamic library '/usr/lib/php4/20020429/gd2.so' - /usr/lib/php4/20020429/gd2.so: cannot open shared object file: No such file or directory in Unknown on line...

1

Christounet, le 24 sep 2008 à 14:36:01

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 Un conducteur dangereux, c'est celui qui vous dépasse malgré­ tous vos efforts pour
l'en empêcher... (Woody Allen)

Répondre à Christounet

2

jayb5561, le 24 sep 2008 à 14:51:56

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 ?

Répondre à jayb5561

3

Christounet, le 24 sep 2008 à 15:21:09

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 Un conducteur dangereux, c'est celui qui vous dépasse malgré­ tous vos efforts pour
l'en empêcher... (Woody Allen)

Répondre à Christounet

4

jbm, le 25 sep 2008 à 07:38:43

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.

Répondre à jbm

5

 Christounet, le 25 sep 2008 à 10:04:13

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 Un conducteur dangereux, c'est celui qui vous dépasse malgré­ tous vos efforts pour
l'en empêcher... (Woody Allen)

Répondre à Christounet