无法从资产中读取数据库(Access 2013)(文件已加密或不是数据库)

Unable to read database(Access 2013) from assets (file is encrypted or is not a database)

我从这里阅读了一些信息:

Java - JDBC Driver SQLite 3.7.2 - Unable to open database test.db: file is encrypted or is not a database

不知道 "version mismatch" sqlite3 二进制文件,如果它与 Access 有同样的问题,我该如何解决。

无论如何,我在下面展示了我的部分代码,正如我之前所说的,我不知道它是否是同样的问题:

我创建了一个未使用 Access 2013 加密的外部数据库。 我的文件小于 1MB,在 "/data/data/" + getPackageName() +"/databases/".

的 DDMS 上复制得很好

当我从 DDMS 下载到我的计算机时,我可以看到我的所有数据(使用 Access 2013 打开),所以我认为没有损坏。

我的问题是什么时候用

在我的 activity 上调用 db.getBeers()
    public void GetBeers(){
    db.openDataBase();  
    Cursor c= db.getBeers();
    db.close();

在我的 class DBAdapter extends SQLiteOpenHelper

public Cursor getBeers(){
    return myDataBase.query(DATABASE_TABLE, new String[]{KEY_ROWID, KEY_NAME, KEY_VOLUMENFERMENTACION,KEY_AZUCAR,KEY_AGUA,              KEY_DINICIAL,KEY_AZUCARBOTELLA,KEY_AZUCARBARRIL,KEY_CATEGORIA},null,null,null,null,null);       
}

我的第一个错误 logcat:

E/SQLiteLog(5852): (26) file is encrypted or is not a database.

我希望能对此有所了解,我花了好几个小时,但我不知道出了什么问题,所以欢迎任何帮助。

我从未听说过 Access 是 android 平台的一个选项。
它可能只是一个 Java,但如果你真的想要一个好的离线数据库。

为什么不使用 SQLite?它是 Android 中的一个内置数据库,您可以轻松地连接到它并做任何您想做的事情。既然您正在寻求使用离线数据库,那么相信我,这是最好的选择。

这是一个参考:

https://developer.android.com/guide/topics/data/data-storage.html#db

I created an external database without encryption with Access 2013

SQLite 无法读取 Microsoft Access 数据库。

E/SQLiteLog(5852): (26) file is encrypted or is not a database.

从 SQLite 的角度来看,您的文件不是数据库。

how can I solve it.

请勿尝试将 Access 2013 数据库与 SQLite 一起使用。如果您希望将数据库与您的应用程序打包在一起,并且希望将 Android 的 SQLite 类 与该数据库一起使用,则需要创建一个 SQLite 数据库。