数据库未在Android 2.3.3中复制

时间:2011-05-23 07:52:20

标签: android

我在/ data / data路径中编写数据库副本的代码。但它给出了这个错误

sqlite3_open_v2("/data/data/com.mycom.package/databases/My Bookback", &handle, 2, NULL) failed 

Caused by: android.database.sqlite.SQLiteException: unable to open  database file and copy.  05-23 13:19:46.746: ERROR/AndroidRuntime(9120): 
Caused by: android.database.sqlite.SQLiteException: no such table: Details: ,

3 个答案:

答案 0 :(得分:1)

问题是dest目录无法出现在文件系统上。

我以这种方式解决了。

File fDir = new File(DB_PATH);
if (!fDir.exists()) {
    Log.d(TAG, "Create directory " + fDir.getAbsolutePath() + " - " + fDir.mkdir());
}

答案 1 :(得分:0)

您是将数据库从assets文件夹复制到您的应用程序中,然后参考此链接: Database not copying from assets

答案 2 :(得分:-1)

从资产中复制数据库通常是个坏主意。应该通过SQLiteOpenHelper类创建/访问DB。您可以使用onCreate方法填充数据库内容。