1

我正在编写一个 Java Swing 应用程序,该应用程序与本地 SQLite DB 一起工作,它与在线 MySQL 数据库每分钟同步,它是一个线程。因此,即使同步过程正在进行,用户也应该能够更改数据。

所以我知道我可以通过更改为日志模式来做到这一点,WAL而且我已经在 Linux 中做到了。它工作得很好。但在 Windows 中它不起作用。当我尝试使用语句转换日志模式时,PRAGMA journal_mode=WAL;它总是返回deletenotWAL

我做了一些研究,我在 SQLite web 上找到了这个。

journal_mode pragma 返回一个字符串,它是新的日志模式。成功时,编译指示将返回字符串“wal”。如果无法完成到 WAL 的转换(例如,如果 VFS 不支持必要的共享内存原语),那么日志模式将保持不变,并且从原语返回的字符串将是先前的日志模式(例如“删除”)。

我该如何解决这个问题?例如,我可以更改 DB VFS 吗?

我正在使用 Sqliteman 来管理我的数据库。

4

1 回答 1

1

好的,我刚刚发现出了什么问题。问题出在 Sqliteman 上。该程序的 windows 版本无法处理 WAL 日志模式下的 DB。其他应用程序可以。

问题解决了。但是,如果有人能给我找到一个与 WAL 一起使用的 Windows 版本的 Sqliteman,请指导我。Sqliteman 可以节省大量时间。

于 2016-03-04T23:27:23.387 回答