5

我最近在我的树莓派上安装了 minidlna,一个轻量级的 UPnP 服务器。由于它缺少其他程序(如 Mediatomb)的 Web 界面,我认为编写一个对我来说可能是一个有趣的项目。

我相信 minidlna 将库信息存储在一个名为“files.db”的文件中。


编辑:我被建议检查file files.db- 这是如下的输出:

files.db: SQLite 3.x database, user version 8


但是,我找不到可以让我从 shell 与 .db 文件交互的程序。我看过以下推荐的程序:

  • isql
  • 数据库访问
  • sql
  • SQLite3
  • db.util

在前四种情况下,sudo apt-get install找不到程序。

sudo apt-get install db.util似乎已安装,但在安装过程中会产生以下消息:

Processing triggers for man-db ...
Setting up gcj-4.7-base (4.7.1-1) ...
Setting up libgcj-common (1:4.6.3-7) ...
Setting up libgcj13 (4.7.1-1) ...
Setting up libgcj13-awt (4.7.1-1) ...
Setting up gcj-4.7-jre-headless (4.7.1-1) ...
Illegal instruction
ERROR: gcj-dbtool did fail; known problem on armv6l
Setting up gcj-4.7-jre (4.7.1-1) ...
Setting up gcj-4.7-jre-lib (4.7.1-1) ...
Setting up gcj-jre-headless (4:4.7.1-1) ...
Setting up gcj-jre (4:4.7.1-1) ...
Setting up libservlet2.5-java (6.0.35-5) ...
Setting up libhsqldb-java (1.8.0.10-11) ...
Setting up hsqldb-utils (1.8.0.10-11) ...

此后,which db-utilwhich db.utilwhich dbutil不产生任何结果。

db.util 是要安装以与 .db 文件交互的正确程序吗?如果是这样,如何使用 gcj-dbtool 修复报告的错误?如果没有,有人可以推荐一个更好的程序吗?

4

2 回答 2

6

您必须安装一个名为“sqlite”或“sqlite3”的软件包。

然后,您将能够使用 .db 文件与您进行交互

$ sqlite3 files.db
> SELECT blah FROM your_table WHERE ......

在您的帖子中您提到“SQLite3”,包名称不应包含大写字母。

你跑了apt-cache search sqlite吗?

于 2012-10-24T16:27:42.813 回答
1

您也可以使用 python,因为它应该已经在您的 Raspberry Pi 上,并且包含电池 / sqlite3

python -c "import sqlite3; print(sqlite3.connect('example.db').cursor().execute('SELECT * FROM stocks ORDER BY price').fetchall())"
于 2018-05-24T17:24:49.737 回答