1

我的应用程序使用 SQLite 进行数据存储。一切都很好,但是有一天有人损坏了数据文件,现在应用程序无法读取它。我不明白具体出了什么问题,但我知道两件事:
1) $result = sqlite_query($query,$db_path);
当这段代码使用旧备份(顺便说一下,不包含所有数据)运行时,一切都很好,$result变成了正确的值. 当它与损坏的文件一起运行时,$result变为null.
2)我在记事本中打开了这个损坏的 SQLite 文件,它似乎很好(它的结构就像旧的结构一样)。

我唯一的想法是解析那个损坏的文件。我在哪里可以获得 SQLite 文件规范?或者也许还有另一种方式?

4

1 回答 1

0

有一个名为sqlite3的命令行工具,可让您管理 SQLite 数据库。启动后,使用“.help”查看可用选项。我没有在损坏的数据库上尝试过它,所以我不知道它会怎么样。

一种想法是查看 sqlite 数据库中的模式和转储表,一次一个,直到您找到存储在文件损坏部分中的表。

cristi:FoodBrowser diciu$ sqlite3 FoodBrowser.sql 
SQLite version 3.6.12
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .help
.backup ?DB? FILE      Backup DB (default "main") to FILE
[..]
于 2010-11-08T15:13:40.910 回答