cancel
Showing results forย 
Search instead forย 
Did you mean:ย 

Oracle Insert Snap - BatchUpdateException: ORA-01438

PSAmmirata
Employee
Employee

Weโ€™re using Oracle Insert Snap with an Oracle Thin Account. We have the Fetch Size and Batch Size properties of the account set to 5000. Weโ€™ve been successfully using the account with this configuration to load millions of rows to different target tables. Suddenly we are sporadically getting the following error. Hereโ€™s the error view (minus the original document). If we attempt to load the failed document using the same pipeline it will insert successfully, so it doesnโ€™t appear that thereโ€™s an issue with the data. Has anybody else encountered this or know why this error would be produced?

{
โ€œerrorโ€:โ€œSQL operation failedโ€,
โ€œstacktraceโ€:โ€œjava.sql.BatchUpdateException: ORA-01438: value larger than specified precision allowed for this column\n\n\tat oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10500)\n\tat oracle.jdbc.driver.OracleStatementWrapper.executeBatch(OracleStatementWrapper.java:230)\n\tat com.zaxxer.hikari.pool.ProxyStatement.executeBatch(ProxyStatement.java:128)\n\tat com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeBatch(HikariProxyPreparedStatement.java)\n\tat org.jooq.tools.jdbc.DefaultStatement.executeBatch(DefaultStatement.java:93)\n\tat org.jooq.impl.BatchSingle.executePrepared(BatchSingle.java:239)\n\tat org.jooq.impl.BatchSingle.execute(BatchSingle.java:182)\n\tat com.snaplogic.snap.api.sql.operations.JdbcOperationsImpl.flushBatch(JdbcOperationsImpl.java:1285)\n\tat com.snaplogic.snap.api.sql.operations.JdbcOperationsImpl.insert(JdbcOperationsImpl.java:724)\n\tat com.snaplogic.snaps.sql.SimpleSqlInsertSnap.processData(SimpleSqlInsertSnap.java:131)\n\tat com.snaplogic.snaps.sql.SimpleSqlWriteSnap.processDocument(SimpleSqlWriteSnap.java:100)\n\tat com.snaplogic.snaps.sql.SimpleSqlSnap.process(SimpleSqlSnap.java:256)\n\tat com.snaplogic.snap.api.ExecutionUtil.process(ExecutionUtil.java:93)\n\tat com.snaplogic.snap.api.ExecutionUtil.execute(ExecutionUtil.java:105)\n\tat com.snaplogic.snap.api.ExecutionUtil.execute(ExecutionUtil.java:73)\n\tat com.snaplogic.snap.api.SimpleSnap.execute(SimpleSnap.java:67)\n\tat com.snaplogic.cc.snap.common.SnapRunnableImpl.executeSnap(SnapRunnableImpl.java:718)\n\tat com.snaplogic.cc.snap.common.SnapRunnableImpl.execute(SnapRunnableImpl.java:493)\n\tat com.snaplogic.cc.snap.common.SnapRunnableImpl.doRun(SnapRunnableImpl.java:779)\n\tat com.snaplogic.cc.snap.common.SnapRunnableImpl.access$000(SnapRunnableImpl.java:109)\n\tat com.snaplogic.cc.snap.common.SnapRunnableImpl$1.run(SnapRunnableImpl.java:336)\n\tat com.snaplogic.cc.snap.common.SnapRunnableImpl$1.run(SnapRunnableImpl.java:332)\n\tat java.security.AccessController.doPrivileged(Native Method)\n\tat javax.security.auth.Subject.doAs(Subject.java:422)\n\tat org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657)\n\tat com.snaplogic.cc.snap.common.SnapRunnableImpl.call(SnapRunnableImpl.java:331)\n\tat com.snaplogic.cc.snap.common.SnapRunnableImpl.call(SnapRunnableImpl.java:109)\n\tat java.util.concurrent.FutureTask.run(FutureTask.java:266)\n\tat java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)\n\tat java.util.concurrent.FutureTask.run(FutureTask.java:266)\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\n\tat java.lang.Thread.run(Thread.java:748)\nโ€,
โ€œreasonโ€:โ€œORA-01438: value larger than specified precision allowed for this column\n, error code: 1438, SQL state: 22003โ€,
โ€œresolutionโ€:โ€œPlease check for valid Snap properties and input data.โ€,
โ€œstatus_codeโ€:โ€œerrorโ€,
โ€œstatusโ€:-2,
โ€œsnap_detailsโ€:{
โ€œlabelโ€:โ€œABCโ€,
โ€œinstance_idโ€:โ€œโ€,
โ€œclass_idโ€:โ€œcom-snaplogic-snaps-oracle-insertโ€,
โ€œbuild_tagโ€:โ€œsnapsmrc486โ€,
โ€œviewsโ€:{
โ€œinโ€:{
โ€œinputRowsโ€:{
โ€œcountโ€:5500
}
},
โ€œoutโ€:{
โ€œoutput101โ€:{
โ€œcountโ€:5000
}
},
โ€œerrorโ€:{
โ€œerror0โ€:{
โ€œcountโ€:0
}
}
}
},
โ€œoriginalโ€:{

}
}

5 REPLIES 5

Ramesh
New Contributor

Anybody got any solution for this issue ?