【已解决】程序访问存放在共享文件夹中的sqlite文件的在写操作时候提示: [SQLITE_READONLY] Attempt to write a readonly database (attempt to write a readonly database) 错误
- 工作小总结
- 时间:2023-06-21 15:39
- 3805人已阅读
简介
springboot项目使用sqlite作为数据库的时候,sqlite数据库文件是放在共享目录中。在查询的时候是没问题的。但是如果写操作的话会提示如下: [SQLITE_READONLY] Attempttowriteareadonlydatabase(attempttowriteareadonlydatabase)出现问题描述:在未重启电脑之前,共享文件夹映射到本地磁盘,可以
🔔🔔🔔好消息!好消息!🔔🔔🔔
有需要的朋友👉:联系凯哥
springboot项目使用sqlite作为数据库的时候,sqlite数据库文件是放在共享目录中。在查询的时候是没问题的。但是如果写操作的话会提示如下:
[SQLITE_READONLY] Attempt to write a readonly database (attempt to write a readonly database)
出现问题描述:
在未重启电脑之前,共享文件夹映射到本地磁盘,可以正常写操作。重启电脑后,发现没有写操作了。提示上面错误。
错误原因:
这个错误通常在用户试图向一个已经以只读模式打开的SQLite数据库中写入数据时发生。只读模式通常是用来保护数据库数据完整性的。
为了解决这个错误,您可以以读/写模式打开数据库,或者创建一个新的数据库。另外,您也可以确保您有足够的权限来写入数据库文件。
来看看重启前访问这个映射到共享目录文件权限如下图:
在来看看重启后文件权限:
从上面两个图片中可以看出重启前后文件的权限变化了。具体变化如下:
重启前:
root用户是完全控制权;root Unix拥有读取和操作权限;Everyone用户也是拥有读取和执行权限的。
而重启电脑之后的权限变化:
root用户只有特殊权限;root Unix用户只拥有读取权限;Everyone用户也只拥有读取权限了。
知道了问题原因所在,那么下面,咱们就来解决这个问题。修改对这个文件的权限。修改步骤如下:
选中指定用户,然后点击编辑。如下图:
在弹出层中可以看到当前拥有的权限。如下图:
把需要的权限都勾选上。选中后,点击确定