2014-06-25 4 views
6

Ich bin ein Neuling zu TalendETL und verwende Talend Open Studio für Big Data Version 5.4.1. Ich habe einen einfachen Talend-ETL-Job entwickelt, der Daten aus einer CSV-Datei aufnimmt und Daten in meine lokale Oracle-Datenbank einfügt. Unten ist, wie mein Paket aussieht:Talend ETL Job Fehler in tOracleOutput Komponente

enter image description here

Der Job gibt eine Ausnahme, dass ArrayIndexOutOfBounds nach dem letzten Datensatz der CSV-Datei. Aber ich bin unsicher, warum es das überhaupt zurückgeben soll? Ich überprüfte die auf diesem Link angegebene Lösung: http://www.talendforge.org/forum/viewtopic.php?id=21644

Aber es scheint überhaupt nicht zu funktionieren. Ich habe den neuesten Treiber für die Oracle-Komponente und die Erhöhung/Verringerung der Commit-Größe scheint es nicht zu beeinflussen.

Kann mir bitte jemand dabei helfen? Bitte lassen Sie es mich wissen, falls weitere Informationen benötigt werden.

P. S: Das Protokoll vollständige Fehler ist unter: -

Starting job Kaggle_Data_Load_Training at 09:31 25/06/2014. 

[statistics] connecting to socket on port 3957 
[statistics] connected 
Exception in component tOracleOutput_1 
java.lang.ArrayIndexOutOfBoundsException: -32203 
    at oracle.jdbc.driver.OraclePreparedStatement.setupBindBuffers(OraclePreparedStatement.java:2677) 
    at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:9270) 
    at oracle.jdbc.driver.OracleStatementWrapper.executeBatch(OracleStatementWrapper.java:210) 
    at test.kaggle_data_load_training_0_1.Kaggle_Data_Load_Training.tFileInputDelimited_1Process(Kaggle_Data_Load_Training.java:4360) 
    at test.kaggle_data_load_training_0_1.Kaggle_Data_Load_Training.runJobInTOS(Kaggle_Data_Load_Training.java:4717) 
    at test.kaggle_data_load_training_0_1.Kaggle_Data_Load_Training.main(Kaggle_Data_Load_Training.java:4582) 
[statistics] disconnected 
Job Kaggle_Data_Load_Training ended at 09:31 25/06/2014. [exit code=1] 
+1

statt tOracleOutput, wenn Sie verwenden tFileoutputdelimited oder jede andere DB Ausgangskomponente - Sie noch Sie gleiche ArrayIndexOutOfBoundsException bekommen? – garpitmzn

Antwort

6

können Sie versuchen, die Commit Größe auf der tOracleOutput Komponente zu verringern? Ich erinnere mich, dass es in 5.4.1 eine Art Bug gibt. von TOS, die zu diesem Fehler führte. Daher bitte die Commit-Größe (sagen wir auf 500) verringern und sehen, ob das Problem weiterhin besteht. Hier weitere Informationen über den Fehler: http://www.talendforge.org/forum/viewtopic.php?id=5931

+0

Erstaunlich !! Es funktionierte! Danke vielmals :) – Sparky

0

Haben gleiches Problem in Talend 6.2.1

Es kann durch Änderung gelöst wird DB Version in metadata der Verbindung zu aktualisieren.

Same bestätigt auf Talend blog