Bonjour,
J'ai un pb d'importation de fichier csv en ligne de commande et je ne sais pas comment le résoudre.
Merci pour votre aide.
En fait le but est que j'extrais les données de plusieurs serveurs distants.
Ces données sont mis dans des fichiers csv avec des virgules pour séparer les champs, mais ces champs peuvent contenir des "\" ainsi que des "." ou encore "-". L'import fonctionne très bien dans mon fichier "php" mais impossible de le faire fonctionner en requête sql directe dans "phpmyadmin" ou en ligne de commande via "mysql.exe".
Je ne comprends pas du tout pourquoi. Surtout que c'est un copier/coller des requêtes utilisées dans mon fichier php qui fait l'import.
Le but final est de non pas effectuer les imports dans php mais via batch pour les programmer régulièrement.
Je ne sais pas si je me suis bien fait comprendre là sur le coup.
Merci pour vos rapides réponses.
Voici la commande que je fais :
Et voici les commandes SQL pour l'import (elles fonctionnent dans mon php)D:\xampp\mysql\bin\mysql.exe -B --host=localhost --user=MONUSER --password=MONPASSWORD --database=MABASE < E:\MonRepertoire\MonSousRepertoire\ImportTables.sql
Merci pour l'aide car là je ne comprends plus rien. Ca fonctionne très bien dans ma page php et copier/coller dans script SQL ça ne fonctionne plus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 LOAD DATA INFILE 'E:\\\\MonRepertoire\\\\MonSousRepertoire\\\\OS\-NOM\-SERVER.csv' REPLACE INTO TABLE MATABLE FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\\r\\n' IGNORE 1 LINES;
Je précise aussi qu'au début du script je fais des TRUNCATE des tables et ça ça fonctionne bien. C'est donc le LOAD DATA.... qui ne fonctionne pas. Mais pourquoi ? Je ne sais pas.![]()
Partager