jdbc2.4.3,oracle模式,PreperedStatement执行executebatch报错,为什么呢

错误堆栈如下:
详细信息: java.sql.BatchUpdateException: (conn=3221517518) Parameter at position 3 is not set
at com.oceanbase.jdbc.OceanBaseStatement.executeBatchExceptionEpilogue(OceanBaseStatement.java:445)
at com.oceanbase.jdbc.JDBC4ServerPreparedStatement.executeBatchInternal(JDBC4ServerPreparedStatement.java:835)
at com.oceanbase.jdbc.JDBC4ServerPreparedStatement.executeBatch(JDBC4ServerPreparedStatement.java:490)
at com.kingdee.life.util.db.DbUtil.executeBatch(DbUtil.java:1031)
at com.kingdee.life.util.db.DbUtil.executeBatch(DbUtil.java:1007)
at com.kingdee.life.util.db.BatchUtil.batchInsert(BatchUtil.java:28)
at com.kingdee.life.util.db.BatchUtil.batchInsert(BatchUtil.java:12)
at kd.isc.dbc.dblink.DatabaseCopyRunner.doTableJob(DatabaseCopyRunner.java:29)
at kd.isc.dbc.dblink.AbstractDatabaseJobRunner.handleBatch(AbstractDatabaseJobRunner.java:351)
at kd.isc.dbc.dblink.AbstractDatabaseJobRunner.doTableJob(AbstractDatabaseJobRunner.java:332)
at kd.isc.dbc.dblink.AbstractDatabaseJobRunner.doTableJob(AbstractDatabaseJobRunner.java:299)
at kd.isc.dbc.dblink.AbstractDatabaseJobRunner.doJob(AbstractDatabaseJobRunner.java:218)
at kd.isc.dbc.dblink.AbstractDatabaseJobRunner.doJob(AbstractDatabaseJobRunner.java:146)
at kd.isc.dbc.dblink.AbstractDatabaseJobRunner.run(AbstractDatabaseJobRunner.java:72)
at kd.isc.dbc.dblink.DoDatabaseJob.doJob(DoDatabaseJob.java:87)
at kd.isc.dbc.dblink.DoDatabaseJob.call(DoDatabaseJob.java:44)
at com.kingdee.life.meta.obj.function.JavaFunctionAdapter.execute(JavaFunctionAdapter.java:76)
at com.kingdee.life.meta.obj.function.FunctionDelegate.invoke(FunctionDelegate.java:17)
at com.kingdee.life.db.transaction.DefaultTransactionManager.invoke(DefaultTransactionManager.java:92)
at com.kingdee.life.util.db.DbUtil.invoke(DbUtil.java:635)
at com.kingdee.life.meta.obj.function.FunctionAdapter.execute(FunctionAdapter.java:154)
at com.kingdee.life.meta.obj.function.FunctionAdapter.innerCall(FunctionAdapter.java:141)
at $$com$kingdee$isc$dbc$rule$fn$DoDatabaseCopy$315.call(Unknown Source)
at com.kingdee.life.meta.obj.entity.EventHandlerManager.raise(EventHandlerManager.java:159)
at com.kingdee.life.meta.obj.action.ActionUtil.execute(ActionUtil.java:53)
at com.kingdee.life.meta.obj.action.SignalExecutor.execute(SignalExecutor.java:38)
at com.kingdee.life.meta.obj.entity.OperationDelegate.invoke(OperationDelegate.java:39)
at com.kingdee.life.db.transaction.DefaultTransactionManager.invoke(DefaultTransactionManager.java:92)
at com.kingdee.life.util.db.DbUtil.invoke(DbUtil.java:635)
at com.kingdee.life.meta.obj.entity.EntityAdapter.execute(EntityAdapter.java:112)
at com.kingdee.life.meta.svc.OperationInvoker.doExecute(OperationInvoker.java:688)
at com.kingdee.life.meta.svc.OperationInvoker.innerExecute(OperationInvoker.java:665)
at com.kingdee.life.meta.svc.OperationInvoker.access$0(OperationInvoker.java:659)
at com.kingdee.life.meta.svc.OperationInvoker$1.invoke(OperationInvoker.java:653)
at com.kingdee.life.db.transaction.DefaultTransactionManager.invoke(DefaultTransactionManager.java:92)
at com.kingdee.life.util.db.DbUtil.invoke(DbUtil.java:635)
at com.kingdee.life.meta.svc.OperationInvoker.execute(OperationInvoker.java:656)
at com.kingdee.life.meta.svc.OperationInvoker.innerExecute(OperationInvoker.java:642)
at com.kingdee.life.meta.svc.OperationAsyncInvoker.execute(OperationAsyncInvoker.java:24)
at com.kingdee.life.util.job.core.JobWorker.execute(JobWorker.java:39)
at com.kingdee.life.util.job.core.JobWorker.run(JobWorker.java:23)
at com.kingdee.life.util.job.ThreadPool.doTask(ThreadPool.java:120)
at com.kingdee.life.util.job.ThreadPool.access$1(ThreadPool.java:118)
at com.kingdee.life.util.job.ThreadPool$WorkThread.run(ThreadPool.java:140)
Caused by: java.sql.SQLTransientConnectionException: (conn=3221517518) Parameter at position 3 is not set
at com.oceanbase.jdbc.internal.util.exceptions.ExceptionFactory.createException(ExceptionFactory.java:128)
at com.oceanbase.jdbc.internal.util.exceptions.ExceptionFactory.create(ExceptionFactory.java:202)
at com.oceanbase.jdbc.OceanBaseStatement.executeBatchExceptionEpilogue(OceanBaseStatement.java:441)
… 43 more
Caused by: java.sql.SQLException: Parameter at position 3 is not set
at com.oceanbase.jdbc.internal.protocol.AbstractQueryProtocol$3.sendCmd(AbstractQueryProtocol.java:1223)
at com.oceanbase.jdbc.internal.protocol.AbstractMultiSend.executeBatchStandard(AbstractMultiSend.java:246)
at com.oceanbase.jdbc.internal.protocol.AbstractMultiSend.executeBatch(AbstractMultiSend.java:208)
at com.oceanbase.jdbc.internal.protocol.AbstractQueryProtocol.executeBatchServer(AbstractQueryProtocol.java:1283)
at com.oceanbase.jdbc.JDBC4ServerPreparedStatement.executeBatchInternal(JDBC4ServerPreparedStatement.java:720)
… 42 more

看错误是第三个没给值。
贴个代码看看

一行数据的时候可以执行,2行数据就不可以执行executeBatch,每行数据字段。我调试核对过了的。都setObject了

报这个了,Parameter at position 1 is not set

看看url上开启批量参数没有