Bonjour,
J'ai créé une petite appli en java qui utilise un fichier .db avec SQLite.
Faire des lectures sur le fichier par "select" ne pose jamais de problème quelque soit la quantité de "select" que je fais. Mais quelque soit la façon dont j'écris mon code pour une ECRITURE avec "insert into" (executeUpdate) sur mon fichier, qui fait suite à une lecture "select" (executeQuery), ça plante avec le message d'erreur : "database is locked", qui pointe sur ma ligne executeUpdate(requete).
J'ai même essayé de séparer chacune des 2 connections à la database, par un "try...catch" en ouvrant une connection, un statement et en les fermant dans un "finally" après le "catch" ... et j'ai pourtant un "database is locked".
J'ai essayé de mettre mon code uniquement pour l'écriture dans un "main". Et ça marche ! Mes données sont enregistrées dans la base, ce qui prouve que ce n'est pas mon code qui merde. Alors pourquoi ça plante lorsque ce code fait suite à un "select" et même lorsque la connection est "close" avant d'ouvrir la nouvelle pour l'écriture ?
Alors si vous avez une idée du problème, je suis preneur !
Partager