Bonjour,
j'ai en entrée une date en string (yyyyMMddHHmmss) que je sors en DATE , donc je parse (TalendDate.parseDate) . j'ai fait un filtre sur length(date_string)=14 car vu que mes données ont des erreurs , je récupère que les 14 premiers chiffres.
J'ai aussi vérifier que c'est bien une date TalendDateisDate,là vous aller me dire si tu parse en Date pourquoi je vérifie ? vu que je cherche une solution j'essai tout.
De plus j'ai mis ce composant (SchemaComplianceChek) pour que chaque ligne soi vérifier avant la sortie.
Le souci et que quand j'exécute le job j'ai ce message qui apparaît: " incompatibilité de type ou caractère non valide pour la page de codes spécifiée".
Le message complet est même : "java.sql.SQLException: Erreur de conversion des données de chargement en masse (incompatibilité de type ou caractère non valide pour la page de codes spécifiée) pour la ligne 15908808, colonne 6 (DATE_HEURE)" .
Sauf que j'ai des millions de ligne et comme dans l'erreurs je peux pas chercher ligne par ligne , dans mon cas ce serait à la 15908808 .
Parmis les solutions essayer il y à l'utilisation du tJavaRow , avec l'utilisation du Try / Catch , qui me permet, en cas d'erreur de mon instruction principale, d'exécuter une instruction secondaire ou tout simplement de tracer mon erreur. Pour celà j'ai fais ce qui suis :
output.DATE_HEURE = input.DATE_HEURE;
try{
output.DATE_HEURE = TalendDate.parseDate("yyyyMMddHHmmss",ENTRER.DATE_HEURE)
}
catch (Exception e) {output.DATE_HEURE ="error date"; }
Mais marche pas.
Quelqu'un aurait il une solution ? pour ce genre de cas.
Merci
Partager