ورود

View Full Version : مشکل با خطای unable to open database file (code 14): , while compiling: PRAGMA journal_mode



gilas1368
شنبه 29 فروردین 1394, 21:25 عصر
سلام به تمام اساتید

من برای ی فروشگاه مواد غذایی ی برنامه نوشتم
این برنامه طوری نوشته شده ک تمام دیتای مورد نیاز رو از سرویس مربوطه میگیره و چون توی این حرفه باید قیمت ها همیشه بروز باشن هر 20 دقیقه سرویس مربوطه ب سرویس خودش متصل میشه و دیتاها رو میگیره و با دیتای خودش مقایسه میکنه
در پاره از مواقع برنامه با خطا مواجه میشه ک مربوط به باز کزدن دیتابیسسه و دقیقا نمیتونم متوجه بشم این خطا چرا داده میشه

Logcat:

java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:300)
at java.util.concurrent.FutureTask.finishCompletion(F utureTask.java:355)
at java.util.concurrent.FutureTask.setException(Futur eTask.java:222)
at java.util.concurrent.FutureTask.run(FutureTask.jav a:242)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTas k.java:231)
at java.util.concurrent.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:841)
Caused by: android.database.sqlite.SQLiteCantOpenDatabaseExce ption: unable to open database file (code 14): , while compiling: PRAGMA journal_mode
at android.database.sqlite.SQLiteConnection.nativePre pareStatement(Native Method)
at android.database.sqlite.SQLiteConnection.acquirePr eparedStatement(SQLiteConnection.java:902)
at android.database.sqlite.SQLiteConnection.executeFo rString(SQLiteConnection.java:647)
at android.database.sqlite.SQLiteConnection.setJourna lMode(SQLiteConnection.java:324)
at android.database.sqlite.SQLiteConnection.setWalMod eFromConfiguration(SQLiteConnection.java:298)
at android.database.sqlite.SQLiteConnection.open(SQLi teConnection.java:219)
at android.database.sqlite.SQLiteConnection.open(SQLi teConnection.java:197)
at android.database.sqlite.SQLiteConnectionPool.openC onnectionLocked(SQLiteConnectionPool.java:463)
at android.database.sqlite.SQLiteConnectionPool.open( SQLiteConnectionPool.java:185)
at android.database.sqlite.SQLiteConnectionPool.open( SQLiteConnectionPool.java:177)
at android.database.sqlite.SQLiteDatabase.openInner(S QLiteDatabase.java:804)
at android.database.sqlite.SQLiteDatabase.open(SQLite Database.java:789)
at android.database.sqlite.SQLiteDatabase.openDatabas e(SQLiteDatabase.java:694)
at android.database.sqlite.SQLiteDatabase.openDatabas e(SQLiteDatabase.java:669)
at ir.cvcreator.lams.DatabaseManagement.GetFactor(Dat abaseManagement.java:624)
at ir.cvcreator.lams.SampleSchedulingService.GetFacto rNumber(SampleSchedulingService.java:119)
at ir.cvcreator.lams.SampleSchedulingService.access$1 00(SampleSchedulingService.java:41)
at ir.cvcreator.lams.SampleSchedulingService$Absolute FactorAsyncTask.doInBackground(SampleSchedulingSer vice.java:100)
at ir.cvcreator.lams.SampleSchedulingService$Absolute FactorAsyncTask.doInBackground(SampleSchedulingSer vice.java:95)
at android.os.AsyncTask$2.call(AsyncTask.java:288)
at java.util.concurrent.FutureTask.run(FutureTask.jav a:237)
... 4 more



اینم کدی ک برای اتصال به دیتابیس استفاده میشه:


SQLiteDatabase database = SQLiteDatabase.openDatabase(DB_PATH + DB_NAME, null, SQLiteDatabase.NO_LOCALIZED_COLLATORS);


return database.query("Factor", new String[]{"FactorNumber"}, "Status<="+status, null, null, null, null);





این رو هم اضافه کنم ک برنامه برای اندروید 3 ینی API LEVEL 11 ب بعد نوشته شده


ممنون میشم اگ اساتید کمکم کنن تا مشکلم رو حل کنم و متوجه بشم دلیل این خطا چیه

gilas1368
یک شنبه 30 فروردین 1394, 09:38 صبح
از اساتید خودم کسی نمیدونه دلیل این مشکل چی میتونه باشه؟

Mehrnaz_k
یک شنبه 30 فروردین 1394, 11:03 صبح
احتمالا شما وقتی کانکشن دیتابیس رو باز میکنید بعد از انجام کار، کانکشن رو close نمیکنید. و بعد از چند اکشن برنامتون کرش میکنه.

tux-world
یک شنبه 30 فروردین 1394, 12:54 عصر
مشکل به نظر میرسه این باشه که شما دیتابیس رو بستید و برنامه نمیتونه دوباره ازش استفاده بکنه. کار با دیتابیس تو سرویس سخته و نیاز به دیباگ هستش راحت نمیشه راهنمایی کرد