有没有人遇到过 Honeycomb 的附加数据库问题?我的应用程序使用以下语句使用附加数据库(在 1.5 到 2.3 上工作):
...
String newDb = "/data/data/com.stuff.app/databases/mydata.db";
db.execSQL("attach database ? as newDb", new String[] {newDb});
String[] columns = MY_COL_NAMES;
String orderBy = DEFAULT_SORT_ORDER;
Cursor cursor = db.query("newDb.mydata", columns, null, null, null, null, orderBy);
...
无论 sqlite 数据库文件(本地或 SD 卡)的实际位置如何,这都是有效的(1.5 到 2.3)......但是,在 Honeycomb 中,db.query 语句会导致“I/SqliteDatabaseCpp(628):返回的 sqlite : error code = 1, msg = no such table: newDb.mydata ..."
我可以通过发出以下语句从 sqlit3 中手动附加数据库:
sqlite3>将数据库'/data/data/com.stuff.app/databases/mydata.db'附加为newDb;
任何解决此问题的帮助将不胜感激。