使用带有spring jdbc的executeBatch在oracle中更新数千行

时间:2017-10-23 00:22:09

标签: oracle jdbc oracle11g spring-jdbc jdbctemplate

我试图通过executeBatch使用spring jdbc模板执行一堆UPDATE语句,其中一些UPDATE查询可能会更新数据库中的数千条记录。但是,在执行这些查询期间,似乎事务正在超时。如何强制spring jdbc模板运行语句,直到完成所有更新?我有spring jdbc模板的以下配置,但仍然出现以下错误。

  

SQL state [null];错误代码[17081];批处理期间发生错误:   ORA-01013:用户请求取消当前操作;嵌套   异常是java.sql.BatchUpdateException:期间发生错误   批处理:ORA-01013:用户请求取消当前操作

this.jdbc = new JdbcTemplate(ds);
jdbc.setFetchSize(1000);
jdbc.setQueryTimeout(0); // zero means there is no limit

我也尝试过使用 jdbc.setQueryTimeout(600000); ,但也无效。

0 个答案:

没有答案