Limite de taille du curseur dans Android SQLiteDatabase
- Je télécharger une base de données à partir d'internet. Je l'ai enregistrer dans mon datases dossier et je l'ouvre.
À l'intérieur de la db il y a une table "Annonces" avec 6 champs. 2 de ces champs BLOB. Lorsque je veux lire à partir de ce tableau... j'ai un problème... j'ai remarqué que quand je lis une ligne avec un champ blob plus grand que 1 mega octet, ce qui provoque une exception... "obtenir le champ de la fente de la ligne 0 col 0 a échoué". si c'est un peu la goutte, tout est ok... merci d'avance 🙂
source d'informationauteur Sergio Andreotti
Vous devez vous connecter pour publier un commentaire.
Il y a une limite de 1 MO interne des actifs compte tenu de la dynamique de décompression; la limite de 1 mo semble également s'appliquer à la position du Curseur gouttes, mais cela ne semble pas être documenté nulle part.
En général, vous devriez éviter les gouttes de SQLite comme ils fonctionnent mal; au lieu d'enregistrer les données blob dans un fichier et le stocker l'emplacement du fichier dans votre base de données.
La lecture d'un BLOB qui est de moins de 100 KO à partir d'une base de données SQLite est plus rapide que la lecture même du système de fichiers. Cependant, quelque chose de plus grand que celui qui est le mieux gardé sur le disque, avec une référence dans la db.
En savoir plus: http://www.sqlite.org/intern-v-extern-blob.html
Il y a une limite de 1 mo par opération. (Je ne suis pas sûr si c'est par ligne ou par colonne dans le cas de SQLite requêtes). La limite est due à l'API SQLite interagir avec sqlite out-of-process sur le Classeur/Colis système de la CIB. La même limite s'applique pour les valeurs à l'intérieur d'un Bundle (Intention extras, par exemple).
Voir: http://developer.android.com/reference/android/os/TransactionTooLargeException.html
Est la requête que vous êtes à l'aide de la "sélection", a déclaré blob? Vous pouvez l'omettre? Si vous ne pouvez pas, utilisez-vous:
ou
La première méthode vous permettra de lire le blob en morceaux. La deuxième va avoir la goutte chargé tout à la fois.
Ressemble en charge BLOB dans Android n'est pas encore mis en œuvre...
http://www.basic4ppc.com/forum/basic4android-updates-questions/6648-support-sqlite-blob.html
Ce que les données sont stockées dans les champs BLOB? Je suppose que les photos.
Je recommande de ne PAS utiliser des Gouttes. Le système de fichiers est un bien meilleur choix pour des données binaires.
Pouvez-vous expliquer un peu plus sur ce que vous voulez accomplir avec la base de données?