Erreur SQLite: impossible de valider une transaction - instructions SQL en cours à l'aide de Java Code

StackOverflow https://stackoverflow.com/questions/1049293

  •  20-08-2019
  •  | 
  •  

Question

Je suis confronté à une erreur SQLite bien que je n’utilise aucun AutoCommit explicite, vrai ou faux. Quelqu'un peut-il fournir des informations sur cette erreur? Quelle est la situation où vous obtiendrez cette erreur.

Merci d'avance. Cordialement, Manasi Sauvegarder

Était-ce utile?

La solution

J'ai rencontré un problème similaire à plusieurs reprises (dans mon cas, il s'agissait d'une restauration impossible) lorsque j'étais dans une boucle en boucle sur des entrées de table. Tant que le curseur traite les entrées, une instruction SQL est & Quot; en cours & Quot ;. Je ne sais pas exactement si cela interdit également les commits, mais cela pourrait être le cas.

Lorsque vous essayez de traiter des entrées de table et d'insérer des entrées dans la même table ou dans une autre, vous pouvez essayer de collecter les données en mémoire et, après la boucle, effectuer les insertions ou les mises à jour.

Informations complémentaires: & "Autocommit &"; La valeur par défaut est " True " dans SQLite (bien sûr, cela pourrait également dépendre de la couche d'accès que vous utilisez - j'utilise Python et apsw, je ne peux donc pas vous en dire plus à ce sujet en Java). Cela signifie que chaque insertion est automatiquement engagée automatiquement.

== > cela pourrait être une autre solution. Au lieu de stocker les données en mémoire, vous pouvez essayer d'ouvrir explicitement une transaction et de la valider après la boucle. Ainsi, le problème devrait également disparaître.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top