无法打开数据库文件。原因:文件不是数据库

时间:2021-02-17 03:37:40

标签: sqlcipher sqlcipher-android

我在我的 Android 应用程序中编写了将数据库从 3.x 迁移到 4.2 的代码,并且我已经为 SQLite Windows 应用程序升级了我的数据库浏览器。

我可以在应用程序中打开文件。但是,从设备资源管理器下载 db 文件后,我无法再在 DB Browser 中打开该 db 文件。

<块引用>

无法打开数据库文件。原因:文件不是数据库

我做错了什么?

private static void migrate(String passKey) {
    final boolean[] status = {false};
    try {
        SQLiteDatabaseHook hook = new SQLiteDatabaseHook() {
            public void preKey(SQLiteDatabase database) {
            }
            public void postKey(SQLiteDatabase database) {
                String value = QueryHelper.singleValueFromQuery(database, "PRAGMA cipher_migrate");
                status[0] = Integer.parseInt(value) == 0;
            }
        };
        SQLiteDatabase database = SQLiteDatabase.openOrCreateDatabase(MyApp.dbFile,
                passKey, null, hook);
        database.close();
    } catch (Exception e) {
        Log.i(TAG, "error", e);
    }
}

0 个答案:

没有答案
相关问题