|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : octobre 2007 Messages : 14 ![]() |
Bonjour,
J'ai un problème avec des champs de type Date, J'essaie de copier les données d'une table SQL Server 2000 vers une autre SQL Server 2005 , dans les deux tables j'ai deux champs de type dateTime j'uitlise tMap pour filter les sorties. La copie se fait bien au départ mais le Job est interrompu par le message suivant : Exception in component tMSSqlOutput_1 java.sql.SQLException: Only dates between January 1, 1753 and December 31, 9999 are accepted. at net.sourceforge.jtds.jdbc.DateTime.packDate(DateTime.java:300) at net.sourceforge.jtds.jdbc.DateTime.<init>(DateTime.java:121) at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.setParameter(JtdsPreparedStatement.java:361) at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.setTimestamp(JtdsPreparedStatement.java:757) at migrationvplus.extractkalif.extractKalif.tMSSqlInput_1Process(extractKalif.java:568) 6219 milliseconds at migrationvplus.extractkalif.extractKalif.runJob(extractKalif.java:813) at migrationvplus.extractkalif.extractKalif.main(extractKalif.java:757)[/SIZE][/SIZE] mais lorsque je vérifie les lignes de la table source je n'y trouve pas d'enregistrement avec une date suppérieure à 31/12/9999 ou inférieure à 01/01/1753. c'est peut être un pb de format de date?!! j'ai forrcé les format des dates dans le tMap et la composant output à "dd/mm/yyyy hh:mm". ça n'a pas résolu le problème, j'ai donc essayé de forcé le filtre du tMap en lui imposant de transférer même les date >"31/12/9999" : row1.date_saisie>="31/12/9999" mais cette expression n'est pas acceptée dans tMap. est ce que quelqu'un pourrait -il m'aider sur ce problème, je galère avec ça depuis le début de l'aprés midi? Merci d'avance. |
|
|
00
|
|
|
#2 |
|
Nouveau Membre du Club
![]() Inscription : juin 2006 Messages : 109 ![]() |
Bonjour,
Alors moi pour voir ce que ça donne en sortie, par exemple si le format en sortie est correct, je change temporairement ma sortie en la désactivant, puis je mets la sortie dans un tLogRow. Comme ça tu verras ce qu'il te met en sortie, déjà si ça ressemble bien à al adte que tu lui donne en entrée! Dis moi ce que ça donne. |
|
|
00
|
|
|
#3 | ||
|
Membre du Club
![]() Inscription : juin 2007 Messages : 309 ![]() |
Essayes de mettre la pattern suivant sur tes champs de type date : "yyyy-MM-dd"
Pour le filtre, tu ne peux pas comparer des types date de cette manière : cf. doc java. Voici un petit script php qui "patche" les métadonnées de talend. Si tu veux t'en servir, à toi de modifier les chemins correspondants (dans mon cas j'ai deux fichiers métadonnées pour deux connexions différentes) : Code :
|
||
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 2 ![]() |
bonjour,
en premier temps et pour connaitre la source de l'erreur je te conseille de lancer le job avec traces je veux savoir ou se produit l'exception exactement si au niveau du composant toutputXXX, là tu peux décocher la case die on error du composant et tu peux même faire une sortie rejets avec le bouton droits. si ça se produit au niveau du tmap tu peux mettre un composant tschemacompliancechek qui va rejeter dans un autre flux toute les lignes qui respectent pas le format d'entrée, puisque moi je vois que l'erreur est certainement une valeur non conforme dans la table vu que le job commence à transférer les lignes. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com