数据库错误
如果看到类似下面的提示,请先保留错误信息并停止编辑,避免反复尝试同步或恢复。

发生了什么?
数据库错误不一定表示文档已经损坏,也可能是磁盘空间不足、文件夹没有写入权限、外接磁盘断开,或其他程序正在占用文件。将正在使用的文档库放在第三方云盘同步目录中,也可能因文件冲突导致损坏。
请先区分以下情况:
- 数据库版本不兼容:按数据库版本不兼容处理,不要删除数据库。
- 文档库数据缺失:检查文档库文件夹是否被移动、重命名,或所在磁盘是否已连接。如果已打开过的文档库缺少数据文件,当前版本会提示“文档库数据缺失”;如果找到了原文件夹,可按提示重新定位。
- 权限、磁盘或占用错误:先恢复文件夹访问权限、释放磁盘空间或关闭占用程序,再尝试打开。
- 数据库损坏,或排除以上原因后仍然报错:按下面的流程保留原库并检查备份。
如何处理?
1️⃣ 退出并重启 WonderPen
先退出 WonderPen。确认文档库所在磁盘可访问、空间足够,再重新打开。有些临时占用问题可通过重启解除。
如果仍然报错,再次退出软件,将原文档库文件夹完整复制到另一个位置留存,包括其中的备份、附件,以及可能存在的 data.db-wal、data.db-shm 等文件。不要只保留 data.db,也不要先删除这些文件。若磁盘或权限问题导致无法复制,请先解决访问问题或联系我们。
2️⃣ 从备份中恢复
如果文档库仍能打开,可以进入备份与恢复查看备份记录,预览并寻找内容完整的备份。最新的备份未必就是需要的版本,应按时间和内容确认。

恢复会覆盖目标文档库的数据。建议先在新建的本地文档库中验证备份;如果选择恢复到原库,请先完成上一步的副本留存。具体说明见备份与恢复。
3️⃣ 在新建文档库中验证备份
原库无法打开、直接恢复失败,或想先确认备份内容时,可以在另一个本地文档库中恢复:
找到已有的备份 Zip 文件。
可在原文档库的
backup文件夹或已配置的额外备份位置查找,先将所需文件复制到安全位置。不要解压或改写其中的数据。启动 WonderPen,在其他位置新建一个本地文档库。
在新库中点击文档库名称,选择从 Zip 文件导入文档库,导入上一步的备份。
检查恢复后的章节、正文、备注、白板和附件等内容。
如果不是所需版本,可以继续在这个新库中尝试其他备份。确认内容完整后,再决定继续使用新库或进行后续迁移;保留原库副本及备份文件,直到确认不再需要。
警告
不要通过删除 data.db 来强行打开空库。如果提示“文档库数据缺失”,先查找原文件夹或可用备份;在原位置新建空库不会找回丢失的内容。没有可用备份时,请保留原文件并联系我们。
仍然有问题?
请联系我们,并提供错误提示、WonderPen 版本、操作系统,以及文档库是本地还是云端、问题出现前做过什么操作。
更多信息
常见错误代码可用于判断排查方向,但仅凭代码不能确认文档是否损坏:
| 错误代码 | 优先检查 |
|---|---|
SQLITE_BUSY / SQLITE_LOCKED | 是否有其他操作或程序占用数据库;先关闭占用并重启 |
SQLITE_PERM / SQLITE_READONLY | 文档库文件夹及所在磁盘是否可写 |
SQLITE_FULL | 磁盘是否还有足够的可用空间 |
SQLITE_CANTOPEN | 路径、文件夹权限及磁盘连接是否正常 |
SQLITE_IOERR | 磁盘连接、读写权限或存储设备是否异常 |
SQLITE_CORRUPT / SQLITE_NOTADB | 可能损坏或不是有效的数据库文件;保留原文件并检查备份 |
SQLITE_NOMEM | 系统可用内存是否不足 |
SQLITE_TOOBIG | 操作的数据是否过大;保留错误信息并联系我们 |
错误代码的完整定义见 SQLite 官方说明。
