2010-08-13 4 views
0

J'ai une application que je porte de MSSQL et .NET à SQLite et Mono. J'utilise NHibernate, FluentNHibernate, NHibernateLINQ et SQLite. Lorsque je teste l'application avec une seule personne connectée, tout fonctionne correctement, mais au moment où quelqu'un d'autre commence à utiliser l'application, il se brise et déclenche une exception SQLite disant "Le fichier de base de données est verrouillé". Je sais que SQLite verrouille la base de données lorsqu'une écriture est en cours et renvoie un état occupé, je suppose que je n'ai peut-être pas configuré NHibernate correctement pour gérer cela, mais je ne trouve aucune information en ligne qui a aidé jusqu'à présent. C'est comme si j'étais la seule personne avec ce problème. Suis-je ? Des idées ?NHibernate SQLite sur problème de concurrence Mono: Le fichier de base de données est verrouillé

Merci

Répondre

1

je soupçonne que votre problème n'est pas FNH en soi.

J'ai eu un problème similaire dans mon projet FNH/SQLite (.NET, pas Mono). Il s'est mystérieusement fixé après avoir refacturé une partie du code de gestion de session pour d'autres raisons. (Les principales modifications consistaient à utiliser les transactions pour l'accès à la base de données ALL et à s'assurer que tous les objets Transaction et Session étaient correctement éliminés).

This link traite d'un problème similaire causé par un Dispose manquant. Je suppose que cela a peut-être été mon problème, mais je ne suis pas sûr. (Je croise les doigts pour que le problème ne réapparaisse pas!).

Une autre bonne source de choses à essayer est Database file is inexplicably locked during SQLite commit

Questions connexes