0
我正在嘗試在Dropbox上備份我的數據庫版本。一切工作正常上傳文件到Dropbox,但我有問題取代目前在手機上的一個在保管箱。用dropbox替換數據庫備份
new Thread(new Runnable() {
public void run() {
File file = new File(getDatabasePath("my_database").getPath());
file.getParentFile().mkdirs();
try {
FileOutputStream outputStream = new FileOutputStream(file);
DropboxFileInfo info =dbInstance.getFile("/BackupFolder/my_database", null,
outputStream, null);
} catch (Exception ex) {
ex.printStackTrace();
}
}
}).start();
當操作完成後,我得到了很多「SQLiteException:沒有這樣的表」錯誤之後。我已經驗證了Dropbox中的數據庫是正確的。
01-09 20:03:37.601: W/System.err(7185): android.database.sqlite.SQLiteException: no such table: transaction_table (code 1)
at android.database.sqlite.SQLiteConnection.nativeExecuteForCursorWindow(Native Method)
01-09 20:03:37.601: W/System.err(7185): at android.database.sqlite.SQLiteConnection.executeForCursorWindow(SQLiteConnection.java:1036)
01-09 20:03:37.601: W/System.err(7185): at android.database.sqlite.SQLiteSession.executeForCursorWindow(SQLiteSession.java:836)
01-09 20:03:37.601: W/System.err(7185): at android.database.sqlite.SQLiteQuery.fillWindow(SQLiteQuery.java:62)
01-09 20:03:37.601: W/System.err(7185): at android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:144)
01-09 20:03:37.601: W/System.err(7185): at android.database.sqlite.SQLiteCursor.getCount(SQLiteCursor.java:133)
01-09 20:03:37.601: W/System.err(7185): at android.content.ContentResolver.query(ContentResolver.java:436)
01-09 20:03:37.601: W/System.err(7185): at android.content.ContentResolver.query(ContentResolver.java:360)
UPDATE
我已經下載了設備上的文件到另一個位置,這樣我就可以使用sqlite3的查看,一切都在那裏。所以,顯然下載工作正常,但我無法在運行時用此文件覆蓋現有的數據庫。
請添加您的例外。 –
我在添加查詢時添加了一個例外。 – DroidT
檢查數據庫的名稱和位置。 並檢查數據庫文件是否存在。 和打印文件大小,這將是有用的信息。 –