好吧,我正在尝试从places.sqlite
数据库中获取一些值。但是当我这样做时
$ sqlite3 /home/<user>/.mozilla/firefox/xx.default/places.sqlite "SELECT url FROM moz_places"
我收到以下错误:Error: file is encrypted or is not a database
如何解决这个问题?
最有可能的是,“sqlite3”命令使用的 sqlite3-library 与 firefox 使用的一个版本不匹配。在我的笔记本电脑上,您引用的命令执行没有错误。(Ubuntu 10.10、Firefox 11.0、libsqlite3-0 3.7.2-1ubuntu0.1)
(参考:错误:文件已加密或不是数据库)
在 Firefox 3.6 前后,用于这些文件的 SQLite 版本更改为使用 3.7 或更高版本。当您尝试使用许多流行的 SQLite 浏览器时遇到的错误正是您所看到的。(错误:文件已加密或不是数据库)
我知道您正在使用 *nix 框,但如果您可以访问 Windows 框,SQLite Expert Personal 版本 3.4.31.2253 支持浏览 Firefox 15.0.1 的此文件。
当前版本的 SQLite 浏览器(确实有 Linux 版本)不使用 SQLite 3.7,因此它不会打开 Firefox 15.01places.sqlite 或 cookies.sqlite..
抱歉,我没有方便的 Linux 机器来测试那里可用的 SQL 浏览器。
听起来仍然像版本控制问题。如果您的 SQLite 库是动态加载的,则您可能选择了错误的版本。检查您的 LD_LIBRARY_PATH 环境变量(我假设您在 *nix 机器上)。