Иметь 5 комнатную базу данных с разными сущностями и дао каждого. Я использую те же методы для резервного копирования и восстановления, используя код ниже. Все они отлично работают, за исключением одного, которое выдает мне следующую ошибку после метода restoreSQL:
E / SQLiteLog: (26) файл зашифрован или не является базой данных
ПОМОГИТЕ.
private void backupSQL(String sdb, File tDB){
File sDB = getDatabasePath(sdb);
P.closeDB(sdb);
try {
FileUtils.copyFile(sDB, tDB);
} catch (Exception e) {
e.printStackTrace();
}
}
private void restoreSQL(File tDB, String sdb){
File sDB = getDatabasePath(sdb);
P.closeDB(sdb);
try {
FileUtils.copyFile(tDB, sDB);
} catch (Exception e) {
e.printStackTrace();
}
}
Обновление: Очевидно, что первый вопрос, который я задам, заключается в том, в чем разница между DAO или идентичностью этой базы данных других. Ответ в том, что все они идентичны, и это сводило меня с ума.
Обновление 2: Я выяснил, в чем проблема с этой конкретной базой данных комнат. Я не закрывал эту суставную базу данных до BACKUP, поэтому пропустил ссылки -SHM и -WAL.