无法使用SQLiteAssetHelper更新android中的数据库

时间:2016-03-10 16:00:45

标签: android sqlite

我正在使用SQLiteAssetHelper。我尝试通过在testdb.db文件中添加少量插入来升级数据库,然后根据说明进行操作 https://github.com/jgilfelt/android-sqlite-asset-helper 我将这个新文件重命名为testdb.db_upgrade_1-2.sql并添加到android app中的asset文件夹中。我在Databasehandler中将数据库版本更改为2,但仍然存在错误,如stacktrace中所示,如下所示

I/SQLiteAssetHelper: successfully opened database testdb.db
W/SQLiteAssetHelper: Upgrading database testdb.db from version 1 to 2...
W/SQLiteAssetHelper: processing upgrade: databases/testdb.db_upgrade_1-2.sql
E/SQLiteLog: (1) near "SQLite": syntax error
D/AndroidRuntime: Shutting down VM
E/AndroidRuntime: FATAL EXCEPTION: main

此后应用程序崩溃。

我的资产文件夹包含/databases/testdb.db 和/databases/testdb.db_upgrade_1-2.sql

我在计算机上使用sqlite3来生成数据库文件

1 个答案:

答案 0 :(得分:1)

  

我将这个新文件重命名为testdb.db_upgrade_1-2.sql

这是不正确的。 testdb.db_upgrade_1-2.sql应该是一个文本文件,其中包含要应用于模式v1数据库的SQL语句,以将其转换为模式v2数据库。

引用the documentation,重点补充:

  

使用更改更新项目的assets / databases目录中的初始SQLite数据库,并创建一个包含所有必需的SQL命令的文本文件,以将数据库从其先前版本升级到当前版本并放置它在同一个文件夹中。