2011-02-24 25 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