53 votes

Pas de table de ce type android_metadata, quel est le problème?

Je suis de la copie d'une base de données préexistante à l' /data/data/packagename/databases en utilisant le code d'tirés de l'utilisation de-votre-propre-sqlite-base de données-dans-android-applications

Après la copie, j'obtiens le message du journal suivant sur l'ouverture de la base de données:

Pas de table android_metadata

Dois-je créer une table nommée android_metadata? Et quelles sont les valeurs dois-je les insérer dans la table de base de données

Merci beaucoup

107voto

foryou Points 1399

En fait, avec un peu plus de lecture, j'ai découvert que je devais utiliser l'indicateur SQLiteDatabase.NO_LOCALIZED_COLLATORS lorsque j'appelais SQLiteDatabase.openDatabase() - cela ne posait plus le problème.

30voto

dIvYaNsH sInGh Points 591

Utilisation

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

ou

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

4voto

Janusz Points 52607

Il semble que pour une raison quelconque, Android exige que chaque base de données ait une table appelée android_metadata qui inclut au moins une locale. Le blog de réignification que vous avez mentionné vous explique comment créer la table et la pré-remplir avec des paramètres régionaux.

Vérifiez si votre base de données contient cette table et si la table a du contenu.

3voto

hrehman Points 21

Lorsque vous copiez une base de données à partir de votre répertoire d’actifs, par exemple, vous devez déjà avoir créé la table android_metadata. Ce tableau devrait avoir deux colonnes:

 _id = an integer value
locale = en
 

2voto

Vishal Khakhkhar Points 1357

J'utilise déjà comme cela est indiqué dans ce lien depuis longtemps ..

Cela fonctionne .. Commander votre DB encore la table créée ou pas?

Je préfère installer le plug-in SQLite Manager dans firefox pour le fonctionnement de la base de données sqlite .. après avoir terminé tous les processus mentionnés dans le même lien ..

Checkout http://www.devx.com/wireless/Article/40842/1954 .

Il contient toutes les opérations de base de données.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X