我的一些用户报告说,他们无法正确打开在Android中使用sqlite jdbc或其他工具如sqlite浏览器(http:///sourceforge.net/projects/sqlitebrowser/)。无法打开在Android中创建的SQLite数据库(文件被加密或不是数据库)
下面是一个例子数据库的问题:
该源码分贝物上的HTC感觉创建的,运行Android 2.3.3和Sense 3.0。
确切的问题是,如果您在文本编辑器中查看文件,您可以看到一堆正在创建的表,但是如果尝试运行“select * from groups;”您将得到一个SQLException:文件被加密或不是数据库。
我试过使用“select sqlite_version;”看看它是否是一个版本问题 - sqlite浏览器说3.6.18.但不同的工具给我不同的版本号......不知道这是怎么回事。
我还应该指出,我的应用程序直接从设备(/data/data/com.citc.wallet/databases/wallet.db)将数据库复制到Dropbox上。
任何帮助将非常感激。
db在我的PC上使用SQLiteSpy打开罚款。对不起,我知道这对你没有真正的帮助,但我只是想我会提到它。 – Squonk 2011-06-05 13:19:20
是的 - 我刚刚找到一个工具或两个也可以打开数据库。我最好的猜测是它对于sqlite jdbc来说太新了一种格式(http://www.zentus.com/sqlitejdbc/) – timothyjc 2011-06-05 13:26:10
一个想法可能是新的db使用WAL模式。尝试使用工作的系统执行'PRAGMA journal_mode = delete'并重试访问。 – schlenk 2011-06-05 13:52:26