Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Installation
Installation Forum d'entraide sur les problèmes liés à l'installation de MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/04/2007, 14h37   #1
Membre confirmé
 
Avatar de Roy Miro
 
Inscription : avril 2007
Messages : 263
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : avril 2007
Messages : 263
Points : 224
Points : 224
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
Roy Miro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2007, 16h18   #2
Membre éclairé
 
Inscription : février 2005
Messages : 349
Détails du profil
Informations personnelles :
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : février 2005
Messages : 349
Points : 358
Points : 358
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
overider est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2007, 16h54   #3
Membre confirmé
 
Avatar de Roy Miro
 
Inscription : avril 2007
Messages : 263
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : avril 2007
Messages : 263
Points : 224
Points : 224
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.
Roy Miro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2007, 17h11   #4
Membre éclairé
 
Inscription : février 2005
Messages : 349
Détails du profil
Informations personnelles :
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : février 2005
Messages : 349
Points : 358
Points : 358
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** ?
overider est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2007, 17h24   #5
Membre chevronné
 
Avatar de pop_up
 
Inscription : avril 2006
Messages : 833
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : avril 2006
Messages : 833
Points : 690
Points : 690
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 :
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 .....);
pop_up est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2007, 12h16   #6
Membre confirmé
 
Avatar de Roy Miro
 
Inscription : avril 2007
Messages : 263
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : avril 2007
Messages : 263
Points : 224
Points : 224
Citation:
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.
Roy Miro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 12h26   #7
Membre confirmé
 
Avatar de Roy Miro
 
Inscription : avril 2007
Messages : 263
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : avril 2007
Messages : 263
Points : 224
Points : 224
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 :
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 :
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
Roy Miro est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h42.


 
 
 
 
Partenaires

Hébergement Web