DBeaver连接SQLite需手动安装xerial驱动、通过Settings→Connection settings→Database file选取绝对路径,且确保.db文件未被其他进程锁住。

直接打开本地 .db 或 .sqlite 文件即可,不需要服务器、不用填 host/port/user/password —— 但前提是驱动已就位、路径选对、没被其他进程锁住。
为什么点“Test Connection”总报 No suitable driver found
这是最常卡住的第一步。DBeaver 社区版默认不自带 SQLite JDBC 驱动(org.xerial:sqlite-jdbc),必须手动触发下载或确认已安装。
- 首次新建 SQLite 连接时,如果驱动缺失,DBeaver 通常会在点击 Test Connection 或 Finish 后弹出提示框,带一个 Download 按钮 —— 点它,等进度条走完,别关窗口
- 若没弹窗,去
Database → Driver Manager,搜索SQLite,选中SQLite (xerial),点 Edit → Download/Update,确保状态是OK - 不要选
Generic或Custom模板,它们不会自动关联 SQLite 驱动,即使 URL 写对也加载失败 - 驱动下载后,重启 DBeaver 有时是必要的(尤其旧版本)
数据库文件路径填哪里?绝对不能粘贴到 Database 文本框
DBeaver 的 SQLite 连接界面有两处容易混淆的输入位置:一个是标着 Database 的文本框(实际只用于网络数据库名),另一个是隐藏在 Settings → Connection settings → Database file 里的真实路径选择入口。
- 务必点击
Browse按钮,从文件系统选取你的xxx.db文件 —— 这会自动填入正确格式的 JDBC URL:jdbc:sqlite:/full/path/to/xxx.db - 手动在
Database栏里粘贴路径(比如C:\data\test.db)会导致连接尝试读取名为test.db的远程数据库,而不是本地文件,必然失败 - 路径含空格或中文不构成问题,但需确保文件可读;Linux/macOS 上注意权限(如
chmod 644 xxx.db)
连上了却查不了表?可能是文件被独占锁住了
SQLite 是文件级数据库,同一时刻只允许一个写连接。如果你的应用程序(比如 Python 脚本、Electron App、Spring Boot)正以 exclusive 或 write 模式打开该 .db 文件,DBeaver 就无法获取写锁,可能表现为:
- 连接成功但表列表为空,刷新也无反应
- 执行
SELECT * FROM xxx报错:database is locked或unable to open database file - 只读模式能连上,但右键表 → Edit 灰掉
解决方法很简单:关掉所有可能持有该文件句柄的程序,尤其是正在运行的调试中的本地应用。DBeaver 自身不释放锁时,退出再重开即可。
想连远程 Linux 上的 SQLite 怎么办?别拼 SSH 端口转发
SQLite 没有服务端、不监听端口,所谓“远程连接”本质是让 DBeaver 通过 SSH 访问远端文件系统。DBeaver 原生支持这个流程,但关键点在于配置顺序:
- 先在连接设置里切到
SSH选项卡,勾选 Use SSH tunnel,填好 SSH 主机、用户、认证方式(密钥更稳) - 再回到
Main选项卡,在Database file里填写远程服务器上的绝对路径(如/home/user/app/data.db),不是本地路径 - 不要试图用
sshfs挂载后再选本地路径 —— 虽然可行,但多一层故障点,且 DBeaver 的 SSH 隧道已足够可靠 - 注意性能:大文件或频繁查询时,网络延迟和 SSH 加解密会明显拖慢响应,日常查看结构没问题,大批量操作建议先
scp回本地
真正麻烦的从来不是“怎么点下一步”,而是驱动没下全、路径填错位置、或者文件正被自己写的代码锁着 —— 这三处,占了 90% 的连接失败。











