java-sqlite-jdbc-query-is-returning-stale-data-from-open connection

时间:2017-09-20 06:10:22

标签: java database sqlite jdbc

我正在使用JDBC for SQLite,场景如下所示:我在/ tmp位置创建active.db(在自动提交模式下)。在50 MB大小到达之后我将该数据库移动到/ var位置通过重命名为1.db ...等等再次在/ tmp位置创建新的active.db.i我保持与Java的active.db(/ tmp位置)的开放连接,因为我需要每2个新数据秒,所以不要保持连接只是重用它。现在问题是当我将active.db移动到/ var位置打开到java连接时,我仍然是一个旧数据,而不是刷新的数据.PRAGMA journal_mode设置为DELETE in SQLite db。

我已经通过以下链接:

Sqlite + Java: table not updating

https://www.google.co.in/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0ahUKEwjlsuvejLPWAhVIRo8KHRAiB3UQFggnMAE&url=https%3A%2F%2Fsqlite.org%2Fisolation.html&usg=AFQjCNHgGmwOaZLL8F34cwtrrdkXieCn9Q

https://sqlite.org/pragma.html#pragma_read_uncommitted

https://sqlite.org/tempfiles.html

1 个答案:

答案 0 :(得分:1)

文档(How To Corrupt An SQLite Database File)说明

  

取消链接或重命名打开的数据库文件会导致行为未定义且可能不合需要。