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

Installation MySQL Discussion :

Affichage tronqué des valeurs


Sujet :

Installation MySQL

  1. #1
    Membre actif Avatar de Roy Miro
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 273
    Points : 290
    Points
    290
    Par défaut Affichage tronqué des valeurs
    Bonjour,

    J'utilise MySQL (open source) depuis peu. J'ai créé des tables avec des colonnes de types varchar. J'initialise mes tables en y chargant le fichier *.txt qui contient les données. Pas de problème. Mais en affichant tte la table avec un SELECT * FROM ma_table;
    je vois des colonnes qui s'affiche sans problèmes. Pour d'autres, il ya des troncatures inexpliquées. Par ex, au lieu d'afficher la chaine "pc127", il m'affiche c127 ou encore pire: 7.
    Pourtant mes colonnes sont de types varchar(30): il ya de la place!
    D'après le manuel officiel le type varchar supprime automatiquement les blancs à la fin d'une chaine, donc je ne crois pas que cela vient du type...
    Remarque: ces troncatures surviennement surtout pour la 1ère et la dernière colonne d'une table donnée...
    Bref, qqun a t-il une idée?
    Merci

  2. #2
    Membre confirmé
    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
    Points : 465
    Points
    465
    Par défaut
    que contient exactement ton fichier txt. est ce des requetes sql ?

    sur quoi est installé ton serveur mysql. Comment fait tu pour charger tes données? Est ce que ton fichier txt est transféré d'un système windows à un système linux . si c'est le cas je te conseile de faire un dos2unix.


    Il faudrait égélement que tu regarde si ton fichier txt n'a pas de caractère à la C**: ex retour chariot mal formaté etc. tu peux voir ça avec un editeur de texte genre notepad++ et en affichant les caractères spéciaux ou en hexa si tu ty connais.

    Enfin, il faut plus d'infos quoi....

    Cordialement
    La connaissance s'accroit lorsqu'on la partage.

  3. #3
    Membre actif Avatar de Roy Miro
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 273
    Points : 290
    Points
    290
    Par défaut
    Bonjour,

    Mon fichier pc.txt contient un tableau qui repertorie tous les pc d'un parc informatique avec leur référence unique, marque, capacité disque... La 1ère colonne est pour l'identifiant de la machine, la 2è la marque, 3è modèle etc...
    J'ai obtenu ce fichier en faisant un C/C à partir du fichier excel original.
    Pour charger ce fichier: LOAD DATA LOCAL INFILE 'C:/.../pc.txt' INTO TABLE table_des_pc FIEDS TERMINATED BY '\t';
    Ce fichier ne contient aucune commande, juste les données sus-citées.
    Je travaille exclusivement sous WinXP, pas de Linux.

    Le serveur est installé sur la machine meme où je travaille.
    (Mais mon application sera amené par la suite à interroger la BD à partir de postes distants du poste où tournera ce serveur).

    L'interface pour créer ma BD et mes tables est en fait la fenêtre de commande DOS. Je me connecte en tapant un mot de passe. Puis, je crée ma BD très artisalement en tapant les requetes SQL.

  4. #4
    Membre confirmé
    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
    Points : 465
    Points
    465
    Par défaut
    tes valeurs sont elles séparés par des ;?

    y'a t'il des caractères genre ' _ dans tes donnes brutes ? Si oui il faut que tu les déspécialise (je pense ) regarde du cote de la focntion quote

    regarde aussi ma reponse à cette question cela peut t'aider. Pers o j'utilise cette technique plutot qu'load date qui est deprecated http://www.developpez.net/forums/sho...d.php?t=325684

    et tu as regardé les caractère à la c** ?
    La connaissance s'accroit lorsqu'on la partage.

  5. #5
    Membre éclairé Avatar de pop_up
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 877
    Points : 786
    Points
    786
    Par défaut
    A ta place j'utiliserai des fichier .csv plutot que des .txt

    Ensuite tu devrai definir un separateur et un caractere qui entoure tes champs dont tu es sur qu'il n'apparai pas (un truc du style "|" ou bien "~").

    exemple :

    ~toto~|~titi~|~tata~

    ensuite en faisant ca ca devrait marcher

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    LOAD DATA 
      INFILE 'chemin de ton fichier' 
      INTO TABLE TA_TABLE
      FIELDS TERMINATED BY '|' ENCLOSED BY '~' LINES TERMINATED BY '\r\n'
      (tes champs .....);

  6. #6
    Membre actif Avatar de Roy Miro
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 273
    Points : 290
    Points
    290
    Par défaut
    A ta place j'utiliserai des fichier .csv plutot que des .txt
    Oui, merci à vous tous
    Apparemment en enregistrant le fichier txt en .csv résoud le problème des troncatures.
    Encore merci.

  7. #7
    Membre actif Avatar de Roy Miro
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 273
    Points : 290
    Points
    290
    Par défaut
    Citation Envoyé par overider
    tes valeurs sont elles séparés par des ;?

    y'a t'il des caractères genre ' _ dans tes donnes brutes ? Si oui il faut que tu les déspécialise (je pense ) regarde du cote de la focntion quote
    Bonjour,

    1)Mon appli est finie depuis un certain temps. Mais j'ai une question pour ma culture personnelle (suite aux posts d'overider): pour les commentaires ou les posts des forums, on trouve toute sortes de caractères y compris des caractères spéciaux. Maintenant si on veut stocker un post dans un champ d'une table de la BD, comment fait-on pour échapper les caractères spéciaux? Y a-t-il un outil ou une appli qui se charge de cela en arrière-plan càd qui rajoute un '\' là où il faut?

    2)Copie d'un fichier .csv avec 4 champs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    19;"my;sql";"ko;fler";2007;
    Les guillemets ont été ajoutés automatiquement dans les champs qui contiennent le caractère spécial ';'

    La commande pour charger ce fichier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LOAD DATA INFILE 'fichier.csv' FIELDS TERMINATED BY ';'  ENCLOSED BY '"'LINES TERMINATED BY '\r\n';
    vous parait-elle juste? Le problême je pense vient du fait que enclosed by ne concerne que certains champs.

    Merci

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

Discussions similaires

  1. Affichage unique des valeurs négatives
    Par AKRAM77 dans le forum Excel
    Réponses: 5
    Dernier message: 21/05/2015, 09h55
  2. Réponses: 1
    Dernier message: 02/09/2008, 17h25
  3. [load] Précision tronquées des valeurs lues
    Par vincent123456 dans le forum MATLAB
    Réponses: 6
    Dernier message: 23/01/2008, 09h25
  4. Affichage des valeurs des variables avec tkprof
    Par hkhan13 dans le forum Oracle
    Réponses: 2
    Dernier message: 04/07/2006, 11h59
  5. [ASE][11]Driver Sybase System 11 tronque des valeurs
    Par pinpin44 dans le forum Sybase
    Réponses: 3
    Dernier message: 14/10/2005, 15h21

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