J'ai regardé partout et n'ai trouvé aucune solution, toute aide à ce sujet serait formidable.
Question:
LOAD DATA INFILE '/Users/name/Desktop/loadIntoDb/loadIntoDB.csv'
INTO TABLE `tba`.`tbl_name`
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
(
field1, field2, field3
)
Erreur:
Can't get stat of '/Users/name/Desktop/loadIntoDb/loadIntoDB.csv' (Errcode:2)
REMARQUE:
J'utilise le navigateur MySQL Query sur OSX 10.6.4 en se connectant à MySQL 5.x
Choses que j'ai essayées:
essayez d'utiliser LOAD DATA LOCAL INFILE
au lieu de LOAD DATA INFILE
sinon vérifier si apparmor est actif pour votre répertoire
J'avais un problème similaire. La résolution était un bidouillage légèrement laid, mais beaucoup plus facile à retenir que les solutions de contournement d’apparmor à condition que vous puissiez «Sudo». Tout d'abord, je devais mettre le fichier d'entrée dans le sous-répertoire mysql pour la base de données que j'utilisais:
Sudo cp myfile.txt /var/lib/mysql/mydatabasename
Cela crée une copie et laisse 'root
' en tant que propriétaire du fichier. Après être entré dans mysql et faire un USE mydatabasename
, j’ai pu renseigner la table appropriée en utilisant
LOAD DATA INFILE 'mytabdelimitedtextfile.txt' INTO TABLE mytablename;
Utiliser le paramètre --local aidera à cela.
Exemple: mysqlimport --local databasename fichier.txt -p
source: http://dev.mysql.com/doc/refman/5.1/en/load-data.html "L'option --local amène mysqlimport à lire les fichiers de données du client Hôte"
Pour moi, copier le contenu dans/tmp et utiliser celui-ci comme dossier source a permis de résoudre le problème . J'utilise MariaDB, et ma version ne permet pas d'utiliser le modificateur "LOCAL" . dans le dossier CSV ne fonctionnait pas non plus.
J'ai eu le même problème en remplissant une table dans mysql sur une instance AWS.
Dans mon cas, j'avais le fichier csv dans l'instance même.
Mettre le chemin absolu a résolu mon problème.
Voici la ligne de la documentation MySQL
Si LOCAL est spécifié, le fichier est lu par le programme client sur l'hôte client et envoyé au serveur. Le fichier peut être donné en tant que chemin complet pour spécifier son emplacement exact. S'il est donné sous forme de nom de chemin relatif, le nom est interprété par rapport au répertoire dans lequel le programme client a été démarré.