Я использую SQLite ( system.data.sqlite v. 1.0.60.0 ) в проекте Fluent NHibernate.
У меня есть одна программа, которая пишет в БД, а другая - из нее. Иногда я получаю исключения SQLITE_BUSY, и мне нужно это исправить.
Я нашел несколько ссылок Google на sqlite_busy_timeout , что (если я правильно понимаю) заставит SQLite повторить попытку перед выдачей исключения. Вероятно, этого будет достаточно для моих нужд.
Однако в сборке system.data.sqlite этого нет.
Когда я ищу SetTimeout с помощью Обозревателя объектов, я получаю два попадания:
System.Data.SQLite.SQLite3.SetTimeout (INT)
System.Data.SQLite.SQLiteBase.SetTimeout (INT)
но я не могу использовать их в своем коде - они не отображаются в Intellisense, а VS2008 показывает красное подчеркивание для SQLite3 с сообщением «Не удается получить доступ к внутреннему классу здесь».
Может кто-нибудь дать мне пример (в C #), который показывает точный синтаксис для этого метода?
Или это даже правильный подход? Я мог бы проверить SQLITE_BUSY в своем коде, но не нашел ни одного хорошего примера, демонстрирующего этот подход.
Наконец, есть ли у Fluent NHibernate или NHibernate какие-либо механизмы, обеспечивающие простой общий доступ к базе данных SQLite?