SQLite externo Contenido del archivo que accede al error

Tengo el código siguiente, él da un error del tiempo de funcionamiento como abajo. ¿Por qué?

try{ String myPath = DB_PATH + DB_NAME; mDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY); }catch(SQLiteException e){} 

Error de tiempo de ejecución:

 :sqlite returned: error code = 1, msg = no such table: android_metadata :SELECT locale FROM android_metadata failed :Failed to setLocale() when constructing, closing the database :android.database.sqlite.SQLiteException: no such table: android_metadata 

3 Solutions collect form web for “SQLite externo Contenido del archivo que accede al error”

Asegúrese de que el nombre de la tabla android_metadata está allí, con una locale nombre de columna, podría insertar en_US como valor para la locale .

O bien, ejecute esta sentencia sql:

 CREATE TABLE "android_metadata" ("locale" TEXT DEFAULT 'en_US'); 

Editar: Si llama a openDatabase () con el indicador SQLiteDatabase.NO_LOCALIZED_COLLATORS, no necesitaría tener esta tabla, de lo contrario necesitará tener esta tabla alrededor.

Vea setLocale () .

Cuando se abra sólo lectura db y su no ya creado, utilice NO_LOCALIZED_COLLATORS.

 try{ String myPath = DB_PATH + DB_NAME; mDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY+ SQLiteDatabase.NO_LOCALIZED_COLLATORS); }catch(SQLiteException e){} 

La tabla android_metadata se creará si abre la base de datos con permisos de escritura.

Llamada openDatabase () con la bandera de SQLiteDatabase.NO_LOCALIZED_COLLATORS, esto es lo que hice cuando conocí el problema la última vez …

  • Comprobación de SQLite de SQL si las tablas contienen filas
  • SQLiteDatabase transacción anidada y solución alternativa
  • No se puede degradar la base de datos de la versión 2 a 1 incluso después de una nueva instalación y volver a ejecutar
  • Android Guardar objeto como blob en sqlite
  • SQLite: Consulta que devuelve datos antiguos / en caché
  • Android table creation Fallo (cerca de "autoincrement": error de sintaxis)?
  • Acceda a la base de datos en una clase que no sea de actividad
  • ¿Qué tan rápido es cursor.moveToPosition (i)?
  • Ordenar una lista en orden ascendente por fecha desde sqlite
  • Utilizar SQLite Trigger para actualizar el campo "LastModified"
  • SQLite de Android usando db.query () para JOIN en lugar de rawquery ()
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.