安卓:无法打开数据库文件

3

当我尝试打开一个sqlite数据库时,它抛出了异常:

android.database.sqlite.SQLiteException:无法打开数据库文件。

我的代码是:

 final String  DATABASENAME   =    "MY_DB"; 
 SQLiteDatabase   objDb =  this.openOrCreateDatabase(DATABASENAME, MODE_PRIVATE, null);

编辑

这在 Android 2.2 上运行良好。 但是在 Android 2.1 上会抛出异常。

请帮帮我... 谢谢。


显示你的 DATABASENAME 值。 - Natali
5个回答

2
File sdcardfile = Environment.getExternalStorageDirectory();

db = SQLiteDatabase.openOrCreateDatabase(sdcardfile.getPath()
                                         + "/BadBrain/question.db", null);

确保"BadBrain"目录存在,或者您可以创建它!


1

在JB设备上运行我的应用程序时,我遇到了相同的错误。这是因为他们更改了数据库路径/data/data/{package_name}/databases/。为了解决这个问题,请使用Android内置的API方法,而不是硬编码路径。

mContext.getDatabasePath(DATABASE_NAME).getPath();

1
请确保在manifest.xml文件中检查权限(android.permission.WRITE_EXTERNAL_STORAGE)。

0

试着像这样做。

SQLiteDataBase objDb = SQLiteDatabase.openDatabase(DATABASENAME, null, SQLiteDatabase.OPEN_READWRITE);

我仍然得到相同的错误。 - Jomia

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接