我有一个Spring批处理作业,它从DB2中卸载,然后在DB2上通过调用存储过程再次更新,插入或删除数据进行一些处理。
我没有从SP收到任何错误。
当我检查元表 - BATCH_STEP_EXECUTION
时,我可以看到commit-count
但实际上提交没有发生,因为我没有看到任何数据更改。
据我所知,提交应该基于块大小进行。
有人可以帮忙,让我知道可能是什么问题吗?
如果需要更多信息,请告诉我
答案 0 :(得分:0)
阅读存储过程源代码,了解它的提交方式和时间,具体说明它对错误的反应。如有必要,请调试存储过程,直到找到第一个提交或不发生。检查是否有任何回滚证据(在数据库监视功能和/或DB2诊断中)。
答案 1 :(得分:0)
了解Spring Batch Commit与数据库提交不同。 Spring批量提交意味着处理器在读取读取器和写入器方法成功结束后将这些块传递给写入器,它不会跟踪您对DB的记录提交,即您的编写器方法实际更新的内容(DB表)。
如果Spring Batch Repository元数据对您和Job&步骤状态看起来没问题,查询和存储过程有问题。