我有一个春季批处理示例,在其中我从平面文件读取并写入Oracle数据库。当我第一次使用Oracle开发人员创建oracle表时,该示例运行良好,但是当我删除所有记录并运行spring批处理示例时,应用程序处于运行模式(在插入表时停止),并且未完成直到我手动(使用oracle SQL Developer)在表中添加一条记录,这样它才能继续运行并完美完成。那是我在oracle中使用的表有问题吗(我不是oracle数据库的专家)。 有任何帮助或建议吗?
答案 0 :(得分:1)
从应用程序运行spring批处理时,是否要提交更改?在Oracle中进行大型批处理操作时,数据库将在表上放置一个锁,直到事务为committed
或rolled back
。如果您在应用程序内部运行批处理时没有这样做,那么我猜您在应用程序端所做的就是在表上放置一个锁,并且直到您手动{{1}通过向表中添加一条记录来进行更改。尝试在申请流程结束时添加一个commit
点进行测试。