无法从 DBeaver 访问数据库表格([SQLLITE_BUSY] 数据库文件被锁定(数据库已锁定))

10
首先,我意识到类似的问题已经被问过了,但是它们似乎没有同样的问题,我找不到解决方法。
我可以在Python中创建表并进行读写操作,访问我的SQLlite数据库非常完美。然而,当尝试通过dBeaver访问数据库时,我遇到以下问题:
1. 首先,在尝试连接到db文件时,它会询问我“一个名为database.db的文件已经存在。您要替换它吗?”
2. 当尝试通过GUI查看表格时,它会加载几秒钟后显示错误。

error

我还没有找到解决这个问题的方法。有人有经验并且有解决方案吗?
编辑:我想补充一下sqllite关于给定错误的说法:https://www.sqlite.org/rescode.html#busy 它指出错误是“由于其他数据库连接的并发活动”而发生的。不过,我不知道这种并发活动会从哪里出现,因为我已经关闭了所有东西,我只是试图在GUI中查看表格。我认为这个问题与第一个问题有关,即它问我是否要替换文件。
2个回答

13

根据之前的评论,卸载DBeaver snap

snap remove dbeaver-ce

并使用官网提供的 .deb 安装包进行安装

wget https://dbeaver.io/files/dbeaver-ce_latest_amd64.deb
sudo apt install ./dbeaver-ce_latest_amd64.deb

这对我来说很有效。

所有的功劳归于之前的评论 =)


1
嗨,Marcelo,只是想指出你提供的修复方案解决了与snaps配置相关的问题:snaps在某种容器中运行,因此它们不能以常规方式访问文件系统,如果没有正确配置,它们将无法找到那些存在的文件。常规的Debian应用程序按预期在文件系统上运行,因此运行良好。 - Hans Poo

2

TLTR:如果您的数据库文件位于可挂载的文件系统中,您需要授予dbeaver读取可挂载文件系统中的文件的权限。

我发现在Ubuntu上解决此问题的两种方法:

1:确保您的数据库文件在主目录中。由于dbeaver有访问主目录的权限,因此它将正常工作。

或者

2:如果您从以下位置下载了dbeaver:

  • 直接从Ubuntu软件中心
  • 使用snap install从终端下载

并且您的数据库文件位于可挂载的文件系统中,请前往Ubuntu软件中心 => 已安装,在列表中找到dbeaver,然后单击它,在下一个窗口的左上角单击权限,切换读取系统挂载信息和磁盘配额,在身份验证提示中输入密码,然后就可以使用了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接