J'utilise une base de données sqlite pour une file d'attente producteur-consommateur. Un ou plusieurs producteurs INSÉRER une rangée à la fois avec une nouvelle clé primaire auto-incrémentée.Meilleures pratiques pour l'utilisation de sqlite dans une file d'attente de base de données
Il y a un consommateur (implémenté dans Java, utilise la bibliothèque sqlite-jdbc) et je veux qu'il lise un lot de lignes et les supprime. Il semble que j'ai besoin de transactions pour le faire, mais essayer d'utiliser SQLite avec des transactions semble ne pas fonctionner correctement. Suis-je en train de penser cela?
Si je finis par avoir besoin de transactions, quelle est la bonne façon de le faire en Java?
Connection conn;
// assign here
boolean success = false;
try {
// do stuff
success = true;
}
finally
{
if (success)
conn.commit();
else
conn.rollback();
}
qui semble le faire; lorsque j'exécute des instructions SQL "BEGIN TRANSACTION" et "END TRANSACTION" au lieu d'utiliser les fonctions de validation/annulation de JDBC, cela semble fonctionner correctement. –
Salut Jason, au moins, vous avez besoin BEGIN TRANSACTION (dans certaines bibliothèques, il existe des méthodes spéciales pour ce faire). END TRANSACTION devrait être en résultat le même comme COMMIT. – Juergen