SQLite
 sql >> डेटाबेस >  >> RDS >> SQLite

SQLiteReadOnlyDatabaseException:केवल पढ़ने के लिए डेटाबेस लिखने का प्रयास (कोड 1032)

मैं कमोबेश ठीक उसी मुद्दे पर अटका हुआ हूं और मुझे इस मामले में एक खुला दोष मिला है जो समझ में आता है...

https://code.google.com/p/android/issues/detail?id=174566

मेरा समाधान - हालांकि सबसे अच्छा समाधान नहीं है - डेटाबेस संशोधन को कभी भी चरणबद्ध नहीं करना है और इसे स्वयं ट्रैक करना है, इस प्रकार कभी भी onUpgrade() को कॉल नहीं करना है , और ऐप को अपडेट करते समय मैन्युअल रूप से अपग्रेड करें।

वैकल्पिक रूप से यदि आपके पास एक छोटा डीबी है जो केवल पढ़ा जाता है, तो आप प्रत्येक onCreate() पर संपत्तियों में डीबी की प्रतिलिपि ट्रिगर कर सकते हैं DBHelper . में वर्ग, लेकिन यह अवांछित समस्याएँ दे सकता है यदि फ़ाइल सिस्टम भरा हुआ है, इसलिए केवल बेहतर समाधान की तलाश में ऐसा करें।

@Override
public void onCreate(SQLiteDatabase db) {
    // Workaround for Issue 174566
    myContext.deleteDatabase(DB_NAME);
    try {
        copyDataBase();
    }
    catch(IOException e) {
        System.out.println("IOException " + e.getLocalizedMessage());
    }
}

मेरा ऐप अब अपग्रेड हो गया है जैसा कि मेरे वर्कअराउंड के साथ होना चाहिए और यह देखते हुए कि इस दोष को मूल रूप से उठाए जाने में कितना समय लगा है, इसे कभी भी ठीक नहीं किया जा सकता है...

मुझे खेद है कि यह समस्या का पूर्ण समाधान नहीं है, लेकिन यह कम से कम आगे का रास्ता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLite तालिका का वर्णन करें

  2. SQLite - एक टेबल बनाएं

  3. एंड्रॉइड रूम:कॉलम का नामकरण कैसे माइग्रेट करें?

  4. SQLite चुनें

  5. SQLite - CSV फ़ाइल से डेटा आयात करें