Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Outils
Outils Forum d'entraide sur les outils pour MySQL. Avant de poster -> Outils 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 07/01/2008, 18h53   #1
Membre chevronné
 
Inscription : janvier 2006
Messages : 918
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 918
Points : 735
Points : 735
Par défaut Crash de table sur LOAD DATA

Bonjour

J'ai une table que je vide puis charge chaque nuit avec la commande load data. Or depuis quelques jours, j'ai systématiquement une erreur au chargement, alors que rien ne semble avoir changé dans la structure ou les données d'entrée.
Ensuite, la table apparaît comme "crashed", et ça met mon application par terre.
Quelqu'un aurait-il une idée sur la question ?

Merci d'avance.


Structure de la table
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
CREATE TABLE `fp_cad_acti` (
  `Work_date` date DEFAULT NULL,
  `KARBRE` varchar(10) DEFAULT NULL,
  `LIBELLE` varchar(50) DEFAULT NULL,
  `DEVISE` varchar(255) DEFAULT NULL,
  `PC` double(17,5) DEFAULT NULL,
  `PL` double(17,5) DEFAULT NULL,
  `NON_compens_brute` double(17,5) DEFAULT NULL,
  `PCP` double(17,5) DEFAULT NULL,
  `PLP` double(17,5) DEFAULT NULL,
  `VMFLUXC` double(17,5) DEFAULT NULL,
  `VMFLUXL` double(17,5) DEFAULT NULL,
  `SENSIBC` double(17,5) DEFAULT NULL,
  `SENSIBL` double(17,5) DEFAULT NULL,
  `P_Comp` double(17,5) DEFAULT NULL,
  `P1` double(17,5) DEFAULT NULL,
  `P2` double(17,5) DEFAULT NULL,
  `P3` double(17,5) DEFAULT NULL,
  `Compensation1_2` double(17,5) DEFAULT NULL,
  `Compensation2_3` double(17,5) DEFAULT NULL,
  `Compensation1_3` double(17,5) DEFAULT NULL,
  `Volume_intertranche` double(17,5) DEFAULT NULL,
  `Pasvolume` double(17,5) DEFAULT NULL,
  `EFP` double(17,5) DEFAULT NULL,
  KEY `Work_date` (`Work_date`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Données (premières lignes, séparées par un saut pour plus de lisibilité) :
2007-10-11|2131|CHANGE|CAD|0|1.16866992391295|1.16866992391295|0|1.16866992391295|-12054.97549225|0|0|0|0|1.16866992391295|0|0|0|0|0|0|1.16866992391295|1.16866992391295

2007-10-11|2131|CHANGE|CHF|-4.55060927057122E-03|0|-4.55060927057122E-03|-4.55060927057122E-03|0|0|169.654423543841|0|0|0|-4.55060927057122E-03|0|0|0|0|0|0|4.55060927057122E-03|4.55060927057122E-03

2007-10-11|2131|CHANGE|EUR|-136038.608360274|549252.2675282|413213.659167926|-126349.494840099|530296.824868284|-166238657.895129|100717172.988634|8.18333172817682E-02|0.545341227548338|126349.494840099|351438.121750696|52509.208277489|0|0|0|0|2526.98989680198|403947.330028185|406474.319924987
guidav est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2008, 08h54   #2
Membre Expert
 
Inscription : août 2002
Messages : 1 036
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 1 036
Points : 1 166
Points : 1 166
Bonjour,

Citation:
Envoyé par guidav Voir le message
j'ai systématiquement une erreur au chargement
Quelle erreur ?
jeca est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2008, 09h22   #3
Membre chevronné
 
Inscription : janvier 2006
Messages : 918
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 918
Points : 735
Points : 735
Format de date incorrect @ ligne 1.
Pourtant c'est bien une date, générée comme telle.
guidav est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2008, 09h34   #4
Membre Expert
 
Inscription : août 2002
Messages : 1 036
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 1 036
Points : 1 166
Points : 1 166
Est-ce que le séparateur de colonnes ('fields terminated by ...') indiqué dans ta requête correspond bien à celui qui se trouve dans le fichier ?
jeca est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2008, 09h41   #5
Membre chevronné
 
Inscription : janvier 2006
Messages : 918
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 918
Points : 735
Points : 735
Oui, le séparateur est bon, et surtout j'ai une centaine d'autre tables générées par le même outil qui passent sans encombre.


Le détail de l'erreur est (avec les données d'aujourd'hui) :
ERROR 1292 (22007): Incorrect date value: '2007-03-23|22|MARCHES DE TAUX|SEK|-33
8770.829324207|359564.864105715|20794.0347815077|-288233.984335124|311510.903307
583|-301846' for column 'Work_date' at row 1
guidav est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2008, 09h54   #6
Membre Expert
 
Inscription : août 2002
Messages : 1 036
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 1 036
Points : 1 166
Points : 1 166
Essaie de lire cette 1ère ligne avec fgetcsv() et fait un print_r() du tableau résultant pour voir ce que tu récupères. Peut-être qu'un caractère non imprimable se promène dans un coin.
jeca est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2008, 10h14   #7
Membre chevronné
 
Inscription : janvier 2006
Messages : 918
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 918
Points : 735
Points : 735
Il renvoie ceci :
Array ( [0] => 2007-03-23|22|MARCHES DE TAUX|SEK|-338770.829324207|359564.864105715|20794.0347815077|-288233.984335124|311510.903307583|-30184622.3373552|37066332.9898176|1.1223291964298|0.970057826342008|245386.782628225|-9826.23312397963|66124.1206793574|-33020.9685829188|9826.23312397963|33020.9685829188|0|4907.73565256451|40415.7996552184|45323.5353077829 )

Je me demande s'il a bien compris le format du fichier. Seulement, je me demande pourquoi ça fonctionne pour plein d'autres fichiers et pas pour celui-ci.
guidav est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2008, 10h24   #8
Membre Expert
 
Inscription : août 2002
Messages : 1 036
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 1 036
Points : 1 166
Points : 1 166
A vue de nez, le séparateur de colonnes n'est pas celui que tu penses.
jeca est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2008, 10h41   #9
Membre chevronné
 
Inscription : janvier 2006
Messages : 918
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 918
Points : 735
Points : 735
Et pourtant si, puisque c'est le même outil qui génère d'autres fichiers texte que j'arrive à charger avec load data. C'est bien ce qui m'ennuie.
guidav est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2008, 10h51   #10
Membre Expert
 
Inscription : août 2002
Messages : 1 036
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 1 036
Points : 1 166
Points : 1 166
Mets une extraction d'une dizaine de lignes du fichier en PJ.
jeca est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2008, 10h55   #11
Membre chevronné
 
Inscription : janvier 2006
Messages : 918
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 918
Points : 735
Points : 735
Je ne peux pas mettre de PJ (pas de javascript sur mon poste), mais voici une extraction :
2007-10-11|213|CHANGE|ZAR|0|6250.97812175739|6250.97812175739|0|6036.1771691492|-1704714.01276663|3.63797880709171E-12|0|1.71825578246141E+17|0|4818.97154342477|1217.20562572442|0|0|0|0|0|6036.1771691492|6036.1771691492
2007-10-11|2131|CHANGE|CAD|0|1.16866992391295|1.16866992391295|0|1.16866992391295|-12054.97549225|0|0|0|0|1.16866992391295|0|0|0|0|0|0|1.16866992391295|1.16866992391295
2007-10-11|2131|CHANGE|CHF|-4.55060927057122E-03|0|-4.55060927057122E-03|-4.55060927057122E-03|0|0|169.654423543841|0|0|0|-4.55060927057122E-03|0|0|0|0|0|0|4.55060927057122E-03|4.55060927057122E-03
2007-10-11|2131|CHANGE|EUR|-136038.608360274|549252.2675282|413213.659167926|-126349.494840099|530296.824868284|-166238657.895129|100717172.988634|8.18333172817682E-02|0.545341227548338|126349.494840099|351438.121750696|52509.208277489|0|0|0|0|2526.98989680198|403947.330028185|406474.319924987
2007-10-11|2131|CHANGE|GBP|-841.526888775478|0|-841.526888775478|-841.526888775478|0|0|4160076.85793856|0|0|0|-841.526888775478|0|0|0|0|0|0|841.526888775478|841.526888775478
2007-10-11|2131|CHANGE|JPY|0|1282.66909165601|1282.66909165601|0|1282.66909165601|-688619.182648828|0|0|0|0|1282.66909165601|0|0|0|0|0|0|1282.66909165601|1282.66909165601
2007-10-11|2131|CHANGE|MAD|-13.6387309786431|0|-13.6387309786431|-13.6387309786431|0|0|509678.768910799|0|0|0|-13.6387309786431|0|0|0|0|0|0|13.6387309786431|13.6387309786431
2007-10-11|2131|CHANGE|SEK|0|507.762248720787|507.762248720787|0|507.762248720787|-253344.735251262|0|0|0|0|507.762248720787|0|0|0|0|0|0|507.762248720787|507.762248720787
2007-10-11|2131|CHANGE|THB|-10.8898102892738|0|-10.8898102892738|-10.8898102892738|0|0|102091.034497336|0|0|0|-10.8898102892738|0|0|0|0|0|0|10.8898102892738|10.8898102892738
2007-10-11|2131|CHANGE|USD|-312426.893162446|10172.7592604223|-302254.133902024|-311587.87635381|9728.83856235648|-51971770.3107747|94381944.7005798|0.601147298416491|1.07782895263439E-02|9728.83856235648|-299620.159412897|-2238.87837855665|0|0|0|0|194.57677124713|301859.037791453|302053.614562701
2007-10-11|2131|CHANGE|ZAR|0|6250.97812175739|6250.97812175739|0|6036.1771691492|-1704714.01276663|3.63797880709171E-12|0|1.71825578246141E+17|0|4818.97154342477|1217.20562572442|0|0|0|0|0|6036.1771691492|6036.1771691492
2007-10-11|214|PRODUITS STRUCTURES|CHF|-137668.087989337|247.502473844072|-137420.585515493|-100300.338021322|173.545257223931|-4333.82234439377|3283920.36847521|3176.59740176993|7.53679888891436E-03|173.545257223931|-1457.59756444302|-19805.592276952|-78863.6029227028|0|0|0|3.47090514447861|100126.792764098|100130.263669242
2007-10-11|214|PRODUITS STRUCTURES|EUR|-1653231.23016099|944088.358756229|-709142.871404757|-1270461.85192257|699278.869110227|-48305540.7067293|59260185.8220901|3.42244638187164|1.59312419571305|699278.869110227|-38556.2454377649|-358224.532060191|-174402.20531439|0|0|0|13985.5773822045|571182.982812346|585168.560194551
guidav est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2008, 11h25   #12
Membre Expert
 
Inscription : août 2002
Messages : 1 036
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 1 036
Points : 1 166
Points : 1 166
Voilà ce que j'obtiens pour la 1ère ligne :
Citation:
Array ( [0] => 2007-10-11 [1] => 213 [2] => CHANGE [3] => ZAR [4] => 0 [5] => 6250.97812175739 [6] => 6250.97812175739 [7] => 0 [8] => 6036.1771691492 [9] => -1704714.01276663 [10] => 3.63797880709171E-12 [11] => 0 [12] => 1.71825578246141E+17 [13] => 0 [14] => 4818.97154342477 [15] => 1217.20562572442 [16] => 0 [17] => 0 [18] => 0 [19] => 0 [20] => 0 [21] => 6036.1771691492 [22] => 6036.1771691492 )
en utilisant :
Code :
1
2
3
4
5
<?php
  $fichier = fopen('quidav.txt', 'r');
  $data = fgetcsv($fichier, 4096, '|');
  print_r($data);
?>
Ce qui me semble correct.

PS - le séparateur est ALT GR + 6 (clavier alpha) ou ALT + 124 (pavé numérique), code héxa : 7C et ASCII 124.
jeca est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2008, 11h39   #13
Membre chevronné
 
Inscription : janvier 2006
Messages : 918
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 918
Points : 735
Points : 735
J'ai la même chose que toi à partir du fichier initial (j'avais mis de mauvais arguments à fgetcsv, que je ne connaissais pas). Je continue à creuser de mon côté, merci pour touts ces conseils.
guidav est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2008, 11h57   #14
Membre Expert
 
Inscription : août 2002
Messages : 1 036
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 1 036
Points : 1 166
Points : 1 166
J'ai créé la table, et importé sans pb les lignes que tu m'as transmises, avec phpmyadmin, option 'load data'.
jeca est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2008, 09h33   #15
Membre chevronné
 
Inscription : janvier 2006
Messages : 918
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 918
Points : 735
Points : 735
Résolu : c'était un problème dans les données que me fournit mon voisin, qui mérite un bon coup de latte par la même occasion. A sa décharge, Mysql balance parfois un peu n'importe quoi comme erreur.

Merci beaucoup de ton aide
guidav 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 14h13.


 
 
 
 
Partenaires

Hébergement Web