IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MySQL Discussion :

Importer des csv en ligne de commande: secure_file_priv


Sujet :

MySQL

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2020
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2020
    Messages : 275
    Points : 113
    Points
    113
    Par défaut Importer des csv en ligne de commande: secure_file_priv
    Bonjour,

    je tente d'importer un fichier csv en ligne de commande avec ce code:
    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    LOAD DATA INFILE 'C:/ProgramData:MySQL/MySQL Server 8.3/Uploads/Contrat.csv'
        -> INTO TABLE Contrat
        -> FIELDS TERMINATED BY ','
        -> ENCLOSED BY '"'
        -> LINES TERMINATED BY '/n'
        -> IGNORE 1 ROWS;

    Et j'obtiens l'ereur suivante:
    Code text : Sélectionner tout - Visualiser dans une fenêtre à part
    ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

    Alors je cherche ma varaible:
    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    SHOW VARIABLES LIKE "secure_file_priv";

    Réponse: C:\ProgramData\MySQL\MySQL Server 8.3\Uploads\
    Alors du coup , je fais quoi avec cette variable qui n'existe pas ? car je ne la trouve pas dans le répertoire indiqué !

    Il faudrait changer cette option ? mais comment ?
    J'espère au moins que je m'y suis pris comme il faut jusque là !

    Merci de vos réponses,

    Bonne soirée.

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 156
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 156
    Points : 8 334
    Points
    8 334
    Billets dans le blog
    17
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LOAD DATA INFILE 'C:/ProgramData:MySQL/MySQL Server 8.3/Uploads/Contrat.csv'

    Le chemin n'est pas bon, tu as un : au lieu d'un / après ProgramData.

    Généralement il vaut mieux utiliser "OPTIONNALY ENCLOSED BY".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        -> LINES TERMINATED BY '/n'
    C'est plutôt \n que /n
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2020
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2020
    Messages : 275
    Points : 113
    Points
    113
    Par défaut
    Merci pour ces corrections,

    malheureusement, ça ne règle pas l'erreur de base et le message d'erreur est toujours le même.

    Laurent.

  4. #4
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 156
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 156
    Points : 8 334
    Points
    8 334
    Billets dans le blog
    17
    Par défaut
    Montre ta requête corrigée stp.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2020
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2020
    Messages : 275
    Points : 113
    Points
    113
    Par défaut
    Voici la requête corrigée:
    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    LOAD DATA INFILE 'C:/ProgramData/MySQL/MySQL Server 8.3/Uploads/Contrats.csv'
        -> FIELDS TERMINATED BY ','
        -> OPTIONALLY ENCLOSED BY '"'
        -> LINES TERMINATED BY '\n'
        -> IGNORE 1 ROWS;

    Et pas de changement dans le message d'erreur !
    Toujours ce problème de variable secure-file-priv

  6. #6
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 156
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 156
    Points : 8 334
    Points
    8 334
    Billets dans le blog
    17
    Par défaut
    Chez moi le SHOW VARIABLES LIKE 'secure_file_priv'; donne :

    D:\MySQL Data\Uploads\

    Essaie de t'y conformer, avec des \ au lieu de / et un \ final.

    [EDIT]
    Pardon, je relis ton message initial, et c'était déjà le cas.
    Dans ton LOAD DATA, utilise des \ au lieu de /.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  7. #7
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 388
    Points : 19 119
    Points
    19 119
    Par défaut
    Salut à tous.

    Mettre ceci dans le fichier "my.ini" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    [mysqld]
     
    # ------------------------------ #
    #     Load data local infile     #
    # ------------------------------ #
     
    local-infile = 1
     
    secure-file-priv   = E:\\30.MySql
    Ceci signifie que le fichier "*.csv" doit être présent dans l'arborescence de ce répertoire.

    Vous devez remplacer le slash "/" de votre chemin par "\" en le doublant.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

Discussions similaires

  1. Comment passer des arguments en ligne de commande?
    Par Razgriz dans le forum NetBeans
    Réponses: 1
    Dernier message: 11/04/2007, 11h11
  2. tranformer XLS --> CSV en ligne de commande
    Par dev7 dans le forum Administration système
    Réponses: 1
    Dernier message: 29/01/2007, 10h53
  3. import de fichier en ligne de commande
    Par gypa dans le forum Requêtes
    Réponses: 3
    Dernier message: 15/11/2006, 10h40
  4. Réponses: 6
    Dernier message: 19/10/2005, 12h10
  5. taille max des arguments en ligne de commande
    Par clepape dans le forum Langage
    Réponses: 2
    Dernier message: 08/10/2005, 13h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo