Android:无法打开数据库文件

发布于 2024-10-21 03:32:38 字数 383 浏览 1 评论 0原文

当我尝试打开 sqlite 数据库时,它捕获了异常:

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

我的代码是:

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

已编辑

这在 android 2.2 上工作正常。 但在 android 2.1 中却遇到了异常。

请帮我... 谢谢..

When I tried to open a sqlite database, it caught exception :

android.database.sqlite.SQLiteException : unable to open databse file.

My code is :

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

Edited

This is working fine android 2.2.
But it caught exception in android 2.1.

Please help me...
Thank you..

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

绾颜 2024-10-28 03:32:39

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

mContext.getDatabasePath(DATABASE_NAME).getPath();

I got the same error while running my app on JB devices. I was because they altered database path /data/data/{package_name}/databases/. To resolve use Android inbuilt API method as follows rather than hard coded path

mContext.getDatabasePath(DATABASE_NAME).getPath();
蘑菇王子 2024-10-28 03:32:39

尝试看看这样。

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

Try and see like this.

SQLiteDataBase objDb = SQLiteDatabase.openDatabase(DATABASENAME, null, SQLiteDatabase.OPEN_READWRITE);
咽泪装欢 2024-10-28 03:32:39

您的表中是否设置了 android_meta 数据和区域设置?

看看这里的第一步:
http://www.reigndesign.com/博客/在android应用程序中使用您自己的sqlite数据库/

do you have the table android_meta data and locale set in your table?

Look at first steps here:
http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/

像极了他 2024-10-28 03:32:38
File sdcardfile = Environment.getExternalStorageDirectory();

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

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

File sdcardfile = Environment.getExternalStorageDirectory();

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

Make sure the "BadBrain" directory exists, or you can create it!

旧话新听 2024-10-28 03:32:38

另请检查manifest.xml 上的权限(android.permission.WRITE_EXTERNAL_STORAGE)。

Please also check permission(android.permission.WRITE_EXTERNAL_STORAGE) on manifest.xml.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文