2010-03-16 1 views
1

Je considère SQLite comme un "conteneur de file d'attente de travaux", et je me demandais comment je pouvais le faire, en utilisant C# personnalisé (avec ADO.NET) pour travailler la base de données.SQLite en tant que file d'attente d'application, verrouillage de ligne exclusif?

S'il s'agissait d'un serveur SQL Server, je configurerais une transaction sérialisable pour m'assurer que la ligne parente et les lignes enfant étaient exclusivement les miennes jusqu'à ce que j'aie terminé. Je ne suis pas sûr de savoir comment cela fonctionnerait dans SQLite, quelqu'un peut-il offrir de l'aide?

Ou s'il existe d'autres implémentations existantes de mise en file d'attente de messages avec SQLite, j'apprécierais également tout pointeur dans cette direction.

Merci!

Répondre

1

Que pouvez-vous faire de votre expérience MS SQL dans SQLite? sqlite a un bon wrapper, donc les classes sont les mêmes, mais commence par Sqlite (comme SqliteConnection). Il y a quelques différences mais elles sont faciles à gérer.

Alors, quel est le problème d'utilisation de sqlite comme file d'attente? sur la mise en file d'attente vous insérez la ligne, sur dequeue vous sélectionnez la rangée avec l'identification maximum puis supprimez.

6

SQLite verrouille le fichier entier pour les opérations d'écriture. Effectuez vos écritures dans une transaction et personne d'autre ne sera en mesure de toucher une table dans la base de données jusqu'à ce que votre transaction se termine.

Questions connexes