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

Requêtes MySQL Discussion :

Problème avec LOAD DATA


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 17
    Par défaut Problème avec LOAD DATA
    Bonjour, je sais que c'est un post qui revient souvent, mais les solutions apportées ne m'ont pas aidées.

    Voilà, je créée une table qui va chercher dans un fichier les informations qu'elle a besoin. Seulement au bout du 3ème champ, sa me concatene le 3ème et 4ème champ, ce qui fausse toute ma table.

    Code de ma table :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    DROP DATABASE ssh;
    CREATE DATABASE ssh;
     
    USE ssh;
     
    #Création des tables pour les logs ssh
    CREATE TABLE ssh (
    Jour INT NOT NULL,
    Heure VARCHAR(20) NOT NULL,
    Machine_receptrice VARCHAR(40) NOT NULL,
    Statut_de_la_connexion VARCHAR(11) NOT NULL,
    Machine_emettrice VARCHAR(40) NOT NULL,
    KEY Jour (Jour),KEY Heure (Heure), KEY Machine_receptrice (Machine_receptrice),
    KEY Statut_de_la_connexion (Statut_de_la_connexion), KEY Machine_emettrice (Machine_emettrice)
    ) ;
     
     
    LOAD DATA INFILE "/var/log/sshd/sshd_connect_reference" INTO TABLE ssh FIELDS TERMINATED BY ' ' LINES TERMINATED BY '\r\n' ;
    voici le résultat que j'obtiens après une requête qui m'affiche toute la table.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Jour    Heure   Machine_receptrice      Statut_de_la_connexion  Machine_emettrice
    23      14:46:47        serveur Accepted        10.4.12.4\n24
    Enfin pour vous aidez, la structure de mon fichier :

    23 14:46:47 serveur Accepted 10.4.12.4
    24 11:31:23 service Accepted 10.4.12.3
    24 11:33:10 serveur Accepted 10.4.12.3
    24 11:36:55 serveur Accepted 10.4.12.2
    24 11:48:31 service Accepted 10.4.12.2
    24 11:50:20 service Accepted 10.4.12.2
    24 11:48:09 service disconnect 10.4.12.2:
    24 11:50:26 service disconnect 10.4.12.2:

    Voilà, merci pour votre aide.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2005
    Messages
    390
    Détails du profil
    Informations personnelles :
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 390
    Par défaut
    Sur quel version de mysql es tu?

    LOAD DATA est signlé comme deceprated depuis peu et ne sera bientot plus supporté.

    Je te conseille plutot de créer des requete sql depuis tes donnees brutes

    en ouvrant par exemple ton fichier de connées brutes avec un tableur. tu rajoute un colones avant tes données et devant chacune de tes valeurs, et ensuite tu etends tes colonnes j'usquà la fin de ton fichier.

    Afin de passer de ça

    23 14:46:47 serveur Accepted 10.4.12.4

    à ça
    INSERT INTO ssh (Jour, Heure, Machine_receptrice, statut_de_la_connexion,, Machine emetrice) VALUES ('21','14:46:47', 'serveur','accepted','10.4.12.4');

    tu peux également faire ça avec un langage de script comme awk ou sed si le nombre des lignes est important.

    Sinon tu peux regarder dans le fichier s'il n'y aurait pas des caractère à la c**. J'ai remarqué un \n dans ton code ce qui indique qu'il y a un debut de retour chariot mal formaté. ou un truc dans le genre

    j'espere avoir été clair.


    NB : dos2unix est ton ami.

    Bonne chance.

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Par défaut
    Bonjour,

    LOAD DATA est signlé comme deceprated
    Quelles sont tes sources ? Car je ne vois pas ça dans le manuel mysql, que ce soit dans la version française :
    http://dev.mysql.com/doc/refman/5.0/fr/load-data.html

    ou anglaise :
    http://dev.mysql.com/doc/refman/5.0/en/load-data.html

    Ce qui est signalé comme déprécié, c'est :
    Ce qui n'a pas grand'chose à voir avec le problème actuel.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Il faudrait un séparateur, celui par défaut est TAB. Sans séparateurs de champ ça marchera toujours mal.
    Et puis les fins de ligne ne sont peut-être pas bonnes, ex: \n au lieu de \r\n.

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2005
    Messages
    390
    Détails du profil
    Informations personnelles :
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 390
    Par défaut
    désolé il s'agit effectivement de load data from master qui est deprecated du coup j'en ai déduit que toutes les instructions commencant par load data seront impactés.

  6. #6
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 17
    Par défaut
    Il faudrait un séparateur, celui par défaut est TAB. Sans séparateurs de champ ça marchera toujours mal.
    Et puis les fins de ligne ne sont peut-être pas bonnes, ex: \n au lieu de \r\n.
    C'était ça, merci encore et je suis également content qu'un petit débat ait pût avoir lieu avec mon problème

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL]Problème avec load data infile
    Par GLDavid dans le forum SGBD
    Réponses: 5
    Dernier message: 16/03/2007, 13h36
  2. Probléme avec load data infile
    Par Moez.B dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 31/08/2006, 10h01
  3. [MySQL] Problème avec LOAD DATA INFILE
    Par Pgs dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 17/07/2006, 15h33
  4. problème avec load data local
    Par afrikha dans le forum Débuter
    Réponses: 2
    Dernier message: 28/10/2005, 18h36
  5. Problème avec LOAD DATA INFILE
    Par ka0z dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 04/06/2004, 14h59

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