我在Fluent NHibernate項目上使用SQLite(system.data.sqlite v。1.0.60.0)。任何人都可以提供一個SQLite「SetTimeout」的C#示例嗎?
我有一個程序寫入數據庫,另一個讀取它。偶爾,我會遇到SQLITE_BUSY異常,並且需要解決這個問題。
我發現了幾個谷歌引用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,但是還沒有找到證明這種方法的好例子。
最後,做流利NHibernate或NHibernate有任何機制提供簡單的共享訪問SQLite數據庫?
謝謝!有什麼方法可以將超時設置爲較短的時間間隔(比如5秒),以加快測試速度? – 2010-06-23 16:23:57
@Tom Bushell:老實說,如果您需要這種併發性,我會推薦使用其他數據庫引擎。嵌入式數據庫引擎通常不適合於此。 – 2010-06-23 20:55:44
我們的併發需求非常少,似乎SQLite應該足夠用於這項工作。目前還不清楚爲什麼它還沒有工作。 – 2010-06-24 18:11:30