hello,
I'm trying to use Date from Sybase table.
When running i have the error :
disconnected
Exception in component tSybaseInput_1
java.sql.SQLException: JZ009: L'erreur suivante a été détectée pendant la conversion : java.lang.IllegalArgumentException: Timestamp format must be yyyy-mm-dd hh:mm:ss.fffffffff
at com.sybase.jdbc3.jdbc.ErrorMessage.raiseError(Unknown Source)
at com.sybase.jdbc3.jdbc.Convert.objectToTimestamp(Unknown Source)
at com.sybase.jdbc3.jdbc.Convert.objectToDateObject(Unknown Source)
at com.sybase.jdbc3.tds.TdsJdbcInputStream.getDateObject(Unknown Source)
at com.sybase.jdbc3.jdbc.SybResultSet.getTimestamp(Unknown Source)
at defi2_bis.alimentation_defi_001.Alimentation_Defi_001.tSybaseInput_1Process(Alimentation_Defi_001.java:2264)
at defi2_bis.alimentation_defi_001.Alimentation_Defi_001.tSybaseInput_2Process(Alimentation_Defi_001.java:436)
at defi2_bis.alimentation_defi_001.Alimentation_Defi_001.main(Alimentation_Defi_001.java:2441)
the code is :
if (rs_tSybaseInput_1.getTimestamp(4) != null) {
row5.DateDebutValidite = new java.util.Date(
rs_tSybaseInput_1.getTimestamp(4).getTime());
} else {
row5.DateDebutValidite = null;
}
this append on a lookup table ( row5 ), and ( for instance ) i don(t use the date column for any test..
is it a specific problem with SYBASE ?
How is possible to convert the data ?
thank you for your help.
Hi cypher
How do you set the data pattern when you set the DB type as timestamp? "yyyy-MM-dd HH:mm:ss.SSS"? To work around it, you can read it as a string, and then parse the string to a Date on tMap, for example: TalendDate.parseDate("yyyy-MM-dd HH:mm:ss.SSS", row1.TIMESTAMP)
Best regards
Shong
Hi Shong,
I think we didn't set any date pattern when inserting to database.
I'll try the workaround you suggest and hopefully will work.
Thanks a lot shong,
Hi
Can you show us the the whole error message? on which component does the error occur? You said you use tOracleInput in previous post.
Best regards
Shong
Here the error message:
Exception in component tOracleInput_1 java.lang.IllegalArgumentException: Timestamp format must be yyyy-mm-dd hh:mm:ss at java.sql.Timestamp.valueOf(Unknown Source) at oracle.jdbc.driver.CharCommonAccessor.getTimestamp(CharCommonAccessor.java:486) at oracle.jdbc.driver.T4CVarcharAccessor.getTimestamp(T4CVarcharAccessor.java:897) at oracle.jdbc.driver.OracleResultSetImpl.getTimestamp(OracleResultSetImpl.java:1060) at clpgas_talend.preprocessactivityclosing_0_1.preProcessActivityClosing.tOracleInput_1Process(preProcessActivityClosing.java:2683) at clpgas_talend.preprocessactivityclosing_0_1.preProcessActivityClosing.tOracleConnection_1Process(preProcessActivityClosing.java:807) at clpgas_talend.preprocessactivityclosing_0_1.preProcessActivityClosing.tJava_1Process(preProcessActivityClosing.java:691) at clpgas_talend.preprocessactivityclosing_0_1.preProcessActivityClosing.runJobInTOS(preProcessActivityClosing.java:4906) at clpgas_talend.preprocessactivityclosing_0_1.preProcessActivityClosing.runJob(preProcessActivityClosing.java:4601) at clpgas_talend.activityclosing_0_1.activityClosing.tRunJob_5Process(activityClosing.java:4324) at clpgas_talend.activityclosing_0_1.activityClosing.tJava_2Process(activityClosing.java:4130) at clpgas_talend.activityclosing_0_1.activityClosing.tOracleConnection_1Process(activityClosing.java:6035) at clpgas_talend.activityclosing_0_1.activityClosing.runJobInTOS(activityClosing.java:6541) at clpgas_talend.activityclosing_0_1.activityClosing.main(activityClosing.java:6089) Exception in component tRunJob_5
hii when running i have this error Démarrage du job chaine_logistique a 17:09 26/06/2011. connecting to socket on port 3792 connected Exception in component tMap_1 java.lang.NullPointerException at bi.chaine_logistique_0_1.chaine_logistique.tAccessInput_7Process(chaine_logistique.java:3884) at bi.chaine_logistique_0_1.chaine_logistique.runJobInTOS(chaine_logistique.java:6541) at bi.chaine_logistique_0_1.chaine_logistique.main(chaine_logistique.java:6412) disconnected Job chaine_logistique terminé à 17:09 26/06/2011. plzz help