在使用navicat链接sqlite时,提示 14 - unable to open database file . 链接其他的db正常,链接某个 使用了WAL机制的sqlite数据库文件就报这个错误,如下:
问题示例
其他db正常打开
原因分析与解决方法:
目前的 navicat 版本中带的sqlite驱动不支持启用了 WAL(Write-Ahead Logging)机制的sqlite db文件的打开, 可以使用其他sqlite专用工具即可打开,如开源的sqlitebrowser下载传送门https://sqlitebrowser.org/dl/
这个开源的专业Sqlite数据库管理工具是可以打开启用了WAL机制的db数据库的,
启用了这个WAL机制的sqlite数据库 xxx.db 在打开的时候会自动生成 xxx.db-shm 和 xxx.db-wal
WAL的全称是Write Ahead Logging,它是很多数据库中用于实现原子事务的一种机制,SQLite在3.7.0版本引入了该特性。