|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : septembre 2005 Messages : 14 ![]() |
Bonjour,
Environment : Talend V2.4.1 Postgresql MySQL J'ai une table HIST qui historise toutes les exécutions de job (date d'exécution, ...). Remplissage de la table HIST avec un tStatCatcher. Dans un job X, je souhaite charger les données dont la date de dernière mise à jour est supérieure à la date contenue dans la table HIST. Pour cela, j'ai : tPostgresqlInput ---Main---tJavaRow---OnComponentOK----tMySqlInput Le composant tPostgresqlInput contient : select * from "HIST" where "type_msge" = 'end' and "msge" = 'success' order by "date" DESC LIMIT 1 Le composant tJavaRow contient : context.dateComparaison=row1.date.toString(); System.out.println(context.dateComparaison); System.out.println(ConvDate.convertDate(context.dateComparaison)); context.dateComparaison est de type String System.out.println(context.dateComparaison) donne Tue Sep 09 16:06:26 CEST 2008 System.out.println(ConvDate.convertDate(context.dateComparaison)) donne 2008-09-09 La routine ConvDate contient : package routines; import java.text.SimpleDateFormat; import java.text.ParsePosition; import java.util.Locale; public class ConvDate { public static String convertDate(String ladate){ SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.US); SimpleDateFormat sdff = new SimpleDateFormat("yyyy-MM-dd", Locale.US); return sdff.format(sdf.parse(ladate,new ParsePosition(0))); } } Le composant tMysqlInput contient : select * from tableA where date > '"+ConvDate.convertDate(context.dateComparaison)+"'; PROBLEME : Le job charge toutes les lignes. Si je mets : select * from tableA where date > '2008-09-09'; C'est bon. Seules les lignes correspondant à cette date sont chargées. Why ??? MERCI BEAUCOUP pour votre aide. Inspiré des échanges entre SebastienM et bouvda du 05/03/2008 que je remercie. Cordialement. |
|
|
00
|
|
|
#2 |
|
Invité de passage
![]() Inscription : septembre 2005 Messages : 14 ![]() |
Bonjour,
A priori, on ne peut pas utilser ce type de syntaxe dans le tMysqlInput (...+ConvDate...). Mettre en place un tmap avec un after au niveau du filtre. Bonne journée. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com