OVH Community, votre nouvel espace communautaire.

[MySQL] Insérer des données provenant d'un fichier texte


Pharmespace
24/02/2004, 01h36
Je comprends vraiment plus, c'est une opération basique de mySQL que j'utilise très souvent...

Et j'ai répété plusieurs fois qu'il fallait absolument utiliser LOAD DATA LOCAL INFILE...

Tu veux pas me filer en mail les URL et un fichier pour voir ?
webmaster@pharmespace.com

A+

Fred14
23/02/2004, 21h40
Bonsoir,

Pour informations, il s'agit bien d'un fichier csv que j'essaie d'envoyer mais le problème est le même avec les fichiers texte.
Sur le site officiel, on peut lire dans les commentaires (http://www.mysql.com/doc/en/LOAD_DATA_LOCAL.html) que certaines personnes avaient le même problème que nous et ont réussi à le résoudre.

J'ai phpMyAdmin 2.2.4 et je pense que le problème vient entre autre du fait qu'il faut utiliser LOAD DATA à la place de LOAD LOCAL DATA (par défaut chez moi - voir dernier commentaire du site).
J'ai donc modifier le fichier ldi_check.php de phpMyAdmin pour mettre LOAD DATA et ... surprise : le message d'erreur n'est plus le même.

Il m'affiche désormais : "The file '/tmp/phpVzffe1' must be in the database directory or be readable by all".

J'ai bien mis le répertoire /tmp en chmod 777, je ne sais plus quoi faire là :-\

Des idées ? Les commentaires du site officiel m'ont l'air intéressants mais je ne les comprends pas tous...

@++

TranSGeniK
23/02/2004, 14h51
En effet, j'utilise phpMyadmin pour faire mes inserts de fichier texte.
Data et Data Local dans les deux cas ça ne fonctionne pas.
Le fichier texte est de type CSV.

Myki
23/02/2004, 00h40
Pourrais tu donner plus de renseignement sur ton fichier (type texte, type mysql requete, type donnée, etc).

Myki

Pharmespace
22/02/2004, 22h46
Tu fais l'INSERT depuis où ?
Si tu passes par une requête simple pour l'insert, tu peux ajouter LOCAL entre LOAD DATA et INFILE pour voir ??

Dans les dernières releases de phpMyAdmin, le DATA est pas activé (suffit de le changer dans un des fichiers source).

TranSGeniK
22/02/2004, 18h57
Oui j'ai eu le même problème, et il est encore d'actualité, j'ai tout fait comme indiqué dans la doc MySQL mais impossible...

MySQL a désactivé par defaut le local-infile sur les dernières versions.

Fred14
22/02/2004, 17h28
Bonjour,

Je possède un serveur dédié SP+ à jour au niveau des releases et sur lequel je n'ai jamais rien changé.

Je voudrais importer des données provenant d'un fichier texte dans ma table mais j'obtiens à chaque fois ce message d'erreur :
The used command is not allowed with this MySQL version.

En faisant une recherche sur google, j'ai lu qu'il fallait éditer le fichier de configuration de MySQL /etc/my.cnf et mettre la variable local-infile à 1 pour que cela fonctionne.

Comme ce fichier n'existait pas sur mon serveur (j'ai fait une recherche avec find), j'ai copié le fichier /usr/share/mysql/my-medium.cnf dans /etc/my.cnf puis ajouté local-infile=1 après [mysqld] et [mysql]. J'ai ensuite redémarrer MySQL mais j'ai toujours le même message d'erreur.

J'ai également essayé, sans succès, de redémarrer MySQL en faisant /etc/init.d/mysql start --local-infile=1.

Pour information, la version de MySQL est 3.23.58.

Quelqu'un a-t-il déjà eu le même problème ?

Merci d'avance.