2011-02-24 38 views
3

有没有人遇到Honeycomb附加的数据库问题呢?我的应用程序使用附加的数据库使用的语句(工作在1.5至2.3):Honeycomb中的附加数据库

...

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); 

...

这是工作(1.5至2.3),而不管实际位置的sqlite数据库文件(本地或SD卡)...但是,在蜂窝,db.query语句导致“I/SqliteDatabaseCpp(628):sqlite返回:错误代码= 1,msg =没有这样的表:newDb .mydata ...“

我可以手动附加数据库在sqlit3中发出声明:

sqlite3> attach database'/data/data/com.stuff.app/databases/mydata.db'as newDb;

任何帮助解决这将不胜感激。

+0

我也遇到过这种情况。我的主分贝是:内存:和附加的分贝存储在外部存储。工作得很好1.5-2.3。你有没有找到任何解决方法? – 2011-03-14 10:07:10

+0

我在这里发布了一些有关Android开发者Google组的信息:https://groups.google.com/d/topic/android-developers/WVOeAoV7FAQ/discussion – 2011-03-14 10:36:31

回答

2

在蜂窝,使用bindargs'附加'sql语句似乎不工作。

试试这个: db.execSQL(“attach database'”+ newDb +“'as newDb”);

这应该工作。

+0

谢谢,这很有用。我在这里添加了一个错误报告:http://code.google.com/p/android/issues/detail?id=15499 – 2011-03-15 03:52:41