2010-08-13 20 views
0

我有我从MSSQL和.NET移植到SQLite和单声道的应用程序。我使用NHibernate,FluentNHibernate,NHibernateLINQ和SQLite。NHibernate的SQLite的单声道并发问题:数据库文件被锁定

当我测试与应用程序只有一个人连一切工作正常,但一时别人开始使用它打破了应用程序,并抛出一个SQLite异常说“数据库文件被锁定”。

我知道SQLite锁定数据库,当写入正在进行,并返回一个忙碌的状态,我猜可能我没有正确配置NHibernate来处理这个,但我找不到任何在线信息迄今为止帮助。这就像我是唯一有这个问题的人。我是吗?有任何想法吗 ?

谢谢

回答

1

我怀疑你的问题本身不是FNH。

我在FNH/SQLite的项目有一个类似的问题(.NET,而不是单声道)。在我为其他原因重构了一些会话管理代码之后,它神秘地修复了它自己。 (主要的变化是使用交易的所有的数据库访问,并确保所有交易和Session对象进行了妥善处置)。

This link讨论,是由缺少处置造成了类似的问题。我怀疑这可能是我的问题,但我不确定。 (只要我的手指交叉,问题不会再出现!)。

另一个可以尝试的好东西是Database file is inexplicably locked during SQLite commit