Skip to content

RSS 数据库初始化问题

在有些极端情况下,RSS 初始化会失败。

出现这种情况,往往和文件系统相关。

请检查以下内容:

  1. 文件是否被加密,或者所处文件夹乃至整个硬盘是否被加密。
    如果是被第三方软件加密,应用很可能因为无法访问数据库文件而导致初始化失败。
  2. 数据库文件(rssStore.db / rssCache.db)是否被其它程序占用。 如果有程序一直占用数据库文件,这也可能导致访问失败。

初始化失败的内在原因

RSS 的相关数据存储在 sqlite 单文件中,你的文章收藏会被放在书库目录的 rssStore.db 数据库中,各个服务的缓存数据会放在 RssCache 目录下各个服务目录里的 rssCache.db 数据库中。

在第一次启动应用时,如果对应服务的数据库文件不存在,应用会尝试将一个初始数据库放到对应目录中。

这是一次文件复制操作,如果此时文件夹因为各种各样的原因无法访问或写入,就会导致数据库初始化失败。

如果第一次初始化成功,后续将会直接读取这个数据库文件。

如果因为一些原因,数据库被外部程序修改,或者本身发生损坏,则同样会导致数据库初始化失败。

怎么解决?

如果是文件系统的问题,比如加密,那就尝试解除对该文件的加密,或者将整个书库目录移动到未加密的地方,之后重新打开书库。

如果是数据库本身的问题,这个就比较棘手了。

  1. 请先将 rssStore.db 和 RssCache 目录进行备份。
  2. 关闭应用后,删除书库目录内的 rssStore.db 以及无法初始化的服务目录下的 rssCache.db 文件
  3. 重启应用。

重启后,应用会重新初始化整个 RSS 数据库结构。

这可能会导致原来的缓存数据丢失,但是你可以通过 DB Broswer 一类的可以解析 Sqlite 的软件打开你备份的数据库,重新获取这部分资料,并妥善保存。

基于 Windows App SDK 构建