tOracleOutput组件中的Talend ETL作业错误

时间:2014-06-25 04:04:10

标签: java etl talend

我是TalendETL的新手,我正在使用Talend Open Studio for Big Data 5.4.1版。我开发了一个简单的Talend ETL作业,它从csv文件中获取数据并将数据插入到我的本地Oracle数据库中。以下是我的包的外观:

enter image description here

作业在csv文件的最后一条记录之后返回ArrayIndexOutOfBounds的异常。但我不确定为什么它应该首先归还?我查看了此链接上提供的解决方案:http://www.talendforge.org/forum/viewtopic.php?id=21644

但它似乎根本不起作用。我有oracle组件的最新驱动程序,增加/减少提交大小似乎不会影响它。

有人可以帮我解决这个问题吗?如果需要更多信息,请告诉我。

P.S:完整的错误日志如下: -

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]

2 个答案:

答案 0 :(得分:6)

您可以尝试减少tOracleOutput组件的提交大小吗?我记得5.4.1中存在某种错误。 TOS导致此错误。因此请降低提交大小(假设为500)并查看问题是否仍然存在。以下是有关该错误的更多信息:http://www.talendforge.org/forum/viewtopic.php?id=5931

答案 1 :(得分:0)

在Talend 6.2.1中有同样的问题

可以通过更改DB Version连接中的更新metadata来解决此问题。

Talend blog

上确认相同