|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : février 2006 Messages : 86 ![]() |
Bonjour,
Je vais peut-être en faire hurler certains... Je sais je raisonne "solution"... Je découvre Talend alors merci de votre compréhension. Voilà le cas : je charge dans une table SQL Server des enregistrements de personnes qui me viennent d'un fichier csv. Le champ numéro de téléphone y est déclaré sur 15 car. Or il y une ligne dans mon fichier de données où le tel fait plus (i.e. "0254****** - 3387". Il n'est donc pas chargé en base, mais Talend lui est content. Il considère que cet enregistrement a été chargé. Ma question est : comment puis-je mettre cet enregistrement "de côté" sur le même principe que les fichiers ".bad" de SQL*Loader? J'ai rajouté un filtre "Catch output reject" mais encore une fois il n'y a pas de rejets pour Talend ; j'ai juste un message "Data truncation" dont je suppose qu'il concerne cette ligne. Et rien ne va dans la sortie "catch output rejects". tFileInputDelimited --> row1 --> tMap --> tMsSqlOutput | Property Catch output reject = true le tMsSqlOutput dit "1888 rows" mais en fait il y en a 1887 dans la table ; le catch output rejects dit "0 rows". Je pourrais rajouter une table avec des champs plus grands, bref faire le ménage en base de données, mais a priori je ne suis pas payé pour enrichir le MCD. Auriez-vous une solution à me conseiller? Merci d'avance. |
|
|
00
|
|
|
#2 |
|
Membre du Club
![]() Inscription : février 2006 Messages : 86 ![]() |
Finalement j'ai mis "StringHandling.LEFT(row1.TELEPHONE_GSM ,15)" et là je suis sûr que mon enr. ne sera pas rejeté.
|
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : février 2010 Messages : 24 ![]() |
Simplement en ajoutant une 2nde étape au traitement qui consisterait à aller lire le fichier .bad généré !
|
|
|
00
|
|
|
#4 |
|
Membre habitué
![]() Nicolas VandenbergueConseil - Consultant en systèmes d'information Inscription : janvier 2011 Messages : 88 ![]() |
Bonjour,
Ajoute un flux 'rejets' sur le tMSSqlOutput. (clic droit sur le tMSSqlOutput, ligne, rejets -en dessus du Main-). Si le 'Rejets' n'apparaît pas, va dans les 'Paramètres avancés' du tMSSqlOutput pour décocher 'Définir la taille des lots' cf. http://www.talendforge.org/forum/viewtopic.php?id=15045) Sur le flux 'rejets', tu trouveras ta ligne en erreur car trop longue. Tu pourras ainsi effectuer ton traitement en erreur. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com