شرح - لا يوجد مثل هذا الجدول android_metadata ، ما هي المشكلة؟



sqlite in android studio (5)

أقوم بنسخ قاعدة بيانات موجودة مسبقًا إلى /data/data/packagename/databases باستخدام /data/data/packagename/databases برمجية مستقاة من using-your-own-sqlite-database-in-android-applications

بعد النسخ ، أتلقى رسالة السجل التالية عند فتح قاعدة البيانات:

لا يوجد مثل هذا الجدول android_metadata

هل أحتاج إلى إنشاء جدول باسم android_metadata؟ وما هي القيم التي أحتاج إليها إدراجها في جدول قاعدة البيانات هذا

شكرا جزيلا

https://code.i-harness.com


أنا استخدم بالفعل على النحو الوارد في هذا الرابط لفترة طويلة ..

كان يعمل .. تحقق من DB الخاص بك مرة أخرى في الجدول الذي تم إنشاؤه أم لا؟

أفضل تثبيت البرنامج المساعد SQLite Manager في فايرفوكس لتشغيل قاعدة البيانات sqlite .. بعد الانتهاء من جميع العمليات المذكورة في نفس الرابط ..

الخروج http://www.devx.com/wireless/Article/40842/1954 .

أنه يحتوي على جميع عمليات قاعدة البيانات.


استعمال

SQLiteDatabase.openDatabase(dbPath, null,SQLiteDatabase.NO_LOCALIZED_COLLATORS | SQLiteDatabase.CREATE_IF_NECESSARY);

أو

SQLiteDatabase.openDatabase(dbPath, null,SQLiteDatabase.OPEN_READWRITE);

في الواقع ، مع قراءة أكثر قليلاً ، اكتشفت أنني بحاجة إلى استخدام علامة SQLiteDatabase.NO_LOCALIZED_COLLATORS عند استدعاء SQLiteDatabase.openDatabase() - هذا لم يعد يسبب المشكلة.


في حالتي ، اكتشفت أن هذا الخطأ سيحدث إذا تركت open transaction اليسار.

بعبارة أخرى: إذا نسيت أن commit أو rollback عن معاملة ، في المرة التالية التي تدخل فيها الطلب ، يرتفع هذا الخطأ.


يبدو أن الروبوت يتطلب لكل قاعدة بيانات أن يكون لديه جدول يسمى android_metadata يتضمن لغة واحدة على الأقل. using-your-own-sqlite-database-in-android-applications مدونة using-your-own-sqlite-database-in-android-applications التي ذكرتها عن كيفية إنشاء الجدول وملئه مسبقًا بإعدادات محلية.

تحقق مما إذا كانت قاعدة البيانات الخاصة بك تحتوي على هذا الجدول وما إذا كان الجدول يحتوي على بعض المحتويات.





sqlite