Précédent   Forum des professionnels en informatique > Bases de données > DB2
DB2 Forum d'entraide technique sur la base de données DB2. Voir aussi -> Rubrique DB2
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 15/03/2007, 17h32   #1
Candidat au titre de Membre du Club
 
Inscription : août 2006
Messages : 27
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 27
Points : 10
Points : 10
Par défaut Import CSV et Erreur SQL0181N sur les dates

Bonjour,

J'ai une table sous DB2
Code :
1
2
3
4
5
6
 
CREATE TABLE MATABLE
 (
  FILE_NMBR       INTEGER,
  DATE1           DATE
 )
J'essaie d'importer les données suivantes (fichier .csv)
avec la requete
Code :
1
2
3
4
5
6
7
 
IMPORT FROM 'MonFichier.csv'
OF DEL 
MODIFIED BY DATEFORMAT="YYYYMMDD" 
METHOD P(1, 2)
MESSAGES 'Error.log'
INSERT INTO MATABLE(FILE_NMBR, DATE1);
Mais j'obtiens l'erreur suivante
Code :
1
2
3
 
SQL0181N  The string representation of a datetime value IS out of range.  
SQLSTATE=22007
Ma date 19981000 est pourtant bien au format YYYYMMD.

Des idées?
bladerunners est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2007, 18h54   #2
Membre Expert
 
Inscription : novembre 2004
Messages : 1 298
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 1 298
Points : 1 355
Points : 1 355
19981000.

Le jour 00 n'est pas un jour valide. Mettre un n° de jour compris entre 01 et 31.
Mercure est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2007, 09h12   #3
Candidat au titre de Membre du Club
 
Inscription : août 2006
Messages : 27
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 27
Points : 10
Points : 10
Oups, je vais m'acheter des lunettes!

Mon problème est que je dois importer un gros volume de données pourries (comme pour la date avec 00).

Je pense que je vais importer les dates sous forme de INTEGER, puis faire un update (update des jours 00 en 01, transformer les autres dates invalides en champs NULL), et enfin les convertir en DATE.

Merci Mercure

Si vous avez une solution plus rapide/plus élégante, je suis preneur.
bladerunners 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 21h10.


 
 
 
 
Partenaires

Hébergement Web