Insérer des données .csv a une table MySQL

Résolu

Bonjour

Merci de m'aider à résoudre le problème que je rencontre en base de données MySQL, en effet je suis novice et rencontre le problème suivant:

J'arrive pas à insérer les données d'un fichier CSV dans une table de ma base de données MySQL.

J'ai transformé une feuille préalablement remplie d'excel en fichier .CSV et en ligne de commande dans mon invité connecté à ma base j'ai écris l'instruction suivante:

LOAD DATA LOCAL INFILE 'C:\User\DELL\oneDrive\Documents' 

INTO TABLE Usager

FIELDS TERMINATED BY ';'

LINES TERMINATED BY '\n'

IGNORE 1 LINES;

Après execution MySQL me revoit l'erreur 2068(HY000) LOAD DATA LOCAL INFILE file request rejected due to restrictions on access.

Alors que j'ai l'administrateur par défaut root@localhost, et vérifier que SET GLOBAL local_infile =1 .

Merci d'avance pour votre aide

8 réponses

  1. Contributeur Ambassadeur

    bonjour,

    On dirait que tu donnes le nom d'un dossier, pas celui d'un fichier.

    1
    1. Modérateur

      Cette discussion suggère que le LOAD LOCAL FILE est désactivé par défaut. https://bugs.mysql.com/bug.php?id=91872

      Il faudrait soit l'initialiser dans la ligne de commande qui lance mysql, soit le faire dans le fichier de config de mysql

      I can avoid this error in the command line client by starting my client with this command :
      mysql -u <my_user_name> -p --local_infile=1
      
      
      Suggestions around putting this in the config like so:
      [mysql]
      local-infile
      local_infile=1
      
      [client]
      local-infile
      local_infile=1
      

      1
      1. Modérateur

        Bonjour,

        Si tu veux charger un fichier csv, dans infile, il faut donner le nom du fichier, pas un nom de répertoire.

        LOAD DATA LOCAL INFILE 'C:\User\DELL\oneDrive\Documents\usagers.csv'

        Et si on a des doutes sur les droits dans C:\USER on copie le fichier dans un répertoire comme C:\TEMP


        0
        1. Merci jee pee 

          Effectivement j'ai j'avais des doutes sur mes privilèges vu l'erreur sur laquelle je bute 

          Alors j'ai suivi vos instructions comme suit:

          LOAD DATA LOCAL INFILE 'C:\User\Dell\AppData\Local\Temp\quitances.csv'

          INTO TABLE Usager

          FIELDS TERMINATED BY ';'

          LINES TERMINATED BY '\n'

          IGNORE 1 LINES;

          Malheureusement j'obtiens toujours la même erreur 2068(HY000): load data local infile file request rejected due to restrictions on access.

          ???? Pourtant j'ai bien copie le fichier quittances.csv dans le répertoire temps avec le path indiqué et me rassurer d'avoir bien respecté l'orthographe du fichier ????

          0
          1. Contributeur Ambassadeur

            Tu es toujours dans C:\USER.

            0
        2. Comment je fais pour que mon code s'affiche sur une page numéroté comme celle dans votre message ?

          0
          1. Modérateur

            Sur l'éditeur du message en haut à coté de l'icone pour insérer une image, il y a une icone pour insérer du code, et pour la coloration syntaxique, il faut choisir le langage, python, c, sql ...

            1
        3. Merci encore jee pee

          J'ai vue comment entrer mon code 

          Et activités les notifications aux réponse à mes messages

          0
          1. Rebonjour, 

            ???? Je galère toujours à résoudre ce problème, cette fois ci j'ai l'erreur 2(HY000) file 'c:PPP.csv' not found (is erno 2- no such file or direction)

            LOAD DATA INFILE 'C:\ppp.csv'
            INTO TABLE Usager
            FIELDS TERMINATED BY ';'
            LINES TERMINATED BY '\n'
            IGNORE 1 LINES;

            Alors que le fichier se trouve belle et bien dans le répertoire C et a le simple nom ppp.csv 

            0
            1. Modérateur

              Le C: est toujours un répertoire particulier avec des droits spécifiques, mais vu le message d'erreur, il faudrait essayer

              C:\\ppp.csv ou C:/ppp.csv
              1
          2. Un grand merci jee pee 

            J'ai beaucoup aimé ton pragmatisme dans les directives des propositions de solutions a mon probleme.

            J'ai pu faire des insertions dans ma table 

            Je découvre encore plus l'environnement mySQL, j'espère vraiment encore avoir tes conseils a l'avenir pour d'éventuelle problème rencontré dans mon apprentissage ????

            0