2016-04-26 6 views
0

Ich erstellte eine wiederverwendbare Transformation, in der ich einen Eingangsport des Datums/Uhrzeit-Format haben.Problem mit Datentyp von Datum in Informatica

Jetzt, wenn ich diesen Datum/Uhrzeit-Port in meinem Java-Code verwenden, gibt es mir inkompatible Fehler lange/Datum.

Also habe ich den Eingangsport der Java-Umwandlung in String geändert und diese Zeichenfolge in Java-Transformation verwendet. Aber selbst dieser Code gibt mir einen Fehler.

Severity Timestamp Node Thread Message Code Message 
INFO 26-04-2016 16:55:30 node01_Gizmo READER_1_1_1 RR_4049 RR_4049 SQL Query issued to database : (Tue Apr 26 16:55:30 2016) 
INFO 26-04-2016 16:55:30 node01_Gizmo READER_1_1_1 RR_4050 RR_4050 First row returned from database to reader : (Tue Apr 26 16:55:30 2016) 
INFO 26-04-2016 16:55:30 node01_Gizmo READER_1_1_1 BLKR_16019 Read [10] rows, read [0] error rows for source table [CUSTOMERS] instance name [CUSTOMERS] 
INFO 26-04-2016 16:55:30 node01_Gizmo READER_1_1_1 BLKR_16008 Reader run completed. 
INFO 26-04-2016 16:55:30 node01_Gizmo TRANSF_1_1_1 JAVA PLUGIN_1762 [DEBUG] Unparseable using [email protected] 
ERROR 26-04-2016 16:55:30 node01_Gizmo TRANSF_1_1_1 JTX_1005 [ERROR] Column name [05/06/1998 00:00:00.000000] is invalid. 
INFO 26-04-2016 16:55:30 node01_Gizmo TRANSF_1_1_1 JTX_1015 [DEBUG] Exception thrown from Java transformation: [Column name [05/06/1998 00:00:00.000000] is invalid.]. 
ERROR 26-04-2016 16:55:30 node01_Gizmo TRANSF_1_1_1 JAVA PLUGIN_1762 [ERROR] Column name [05/06/1998 00:00:00.000000] is invalid. 
ERROR 26-04-2016 16:55:30 node01_Gizmo TRANSF_1_1_1 JAVA PLUGIN_1762 [ERROR]  at com.informatica.powercenter.server.jtx.JTXPartitionDriverImplFixed.isNull(JTXPartitionDriverImplFixed.java:737) 
ERROR 26-04-2016 16:55:30 node01_Gizmo TRANSF_1_1_1 JAVA PLUGIN_1762 [ERROR]  at com.informatica.powercenter.server.jtx.JTXPartitionDriverImplGen.execute(JTXPartitionDriverImplGen.java:223) 
ERROR 26-04-2016 16:55:30 node01_Gizmo TRANSF_1_1_1 TM_6085 A fatal error occurred at transformation [DateFormat], and the session is terminating. 
ERROR 26-04-2016 16:55:30 node01_Gizmo TRANSF_1_1_1 TM_6085 A fatal error occurred at transformation [SQ_CUSTOMERS], and the session is terminating. 
ERROR 26-04-2016 16:55:30 node01_Gizmo TRANSF_1_1_1 TM_6085 A fatal error occurred at transformation [SQ_CUSTOMERS], and the session is terminating. 
ERROR 26-04-2016 16:55:30 node01_Gizmo TRANSF_1_1_1 TM_6085 A fatal error occurred at transformation [SQ_CUSTOMERS], and the session is terminating. 
DEBUG 26-04-2016 16:55:30 node01_Gizmo TRANSF_1_1_1 DBG_21511 TE: Fatal Transformation Error. 
INFO 26-04-2016 16:55:30 node01_Gizmo WRITER_1_*_1 WRT_8167 Start loading table [DateFormat] at: Tue Apr 26 16:55:30 2016 
INFO 26-04-2016 16:55:30 node01_Gizmo WRITER_1_*_1 WRT_8333 Rolling back all the targets due to fatal session error. 
ERROR 26-04-2016 16:55:30 node01_Gizmo WRITER_1_*_1 WRT_8170 Writer run terminated: Abort Session request received from the DTM 
INFO 26-04-2016 16:55:30 node01_Gizmo WRITER_1_*_1 WRT_8168 End loading table [DateFormat] at: Tue Apr 26 16:55:30 2016 
INFO 26-04-2016 16:55:30 node01_Gizmo WRITER_1_*_1 WRT_8035 Load complete time: Tue Apr 26 16:55:30 2016 

LOAD SUMMARY 
============ 

WRT_8036 Target: DateFormat (Instance Name: [DateFormat1]) 
WRT_8044 No data loaded for this target 



INFO 26-04-2016 16:55:30 node01_Gizmo WRITER_1_*_1 WRT_8043 *****END LOAD SESSION***** 

Tag ist ein Ausgabeport vom Typ String. Das Folgende ist der Code in Java-Transformation verwendet:

Bitte lassen Sie mich wissen, wie Datum/Zeit Variable in Java-Transformation verwenden.

Grüße, Dex.

Antwort

0

Sie sollten eine Ausdruckstransformation mit dem Ausdruck TO_CHAR(inp_Date,'dd') verwenden, um solche Konvertierungen durchzuführen.

In Ihrem Java-Code stimmt die Formatzeichenfolge (TT-MM-JJJJ) nicht mit dem Eingabeformat überein (05/06/1998 00: 00: 00.000000). Es sollte wahrscheinlich in etwa so geändert werden:

formatter = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss.SSSSSS"); 
+0

Dieses Format hat nicht funktioniert. Ich verstehe, dass es mit der Ausdruckstransformation gemacht werden kann, aber was ich suche, ist, wie man die DateTime-Eingabe in der Java-Umwandlung liest. – Dex