我們有一個Office插件,它使用Sql CE和通常的DBConnection到文件系統中的* .sdf('C:/ ... etc ...')。當我們啓動具有Sql CE增強的Office Addin的應用程序的兩個副本(測試用戶可能會犯的錯誤)時,Sql CE數據庫已損壞,Office Addin不能再訪問其數據。SQL Server CE + Addin讀寫衝突避免?
看來我們錯過了一些避免看似明顯問題的基本方法。現在大家都知道Sql CE不會鎖定它的行,從而允許多次寫入同一個* .sdf可能導致的損壞。
也許答案是「不要那樣做」;並且Sql CE不是爲了處理這種情況而設計的。但是,Sql CE的大多數應用程序肯定會有錯誤地啓動多個進程並嘗試寫入相同的* .sdf的風險。
我們喜歡Sql CE的小尺寸,自由度和易於集成到我們的插件。但是,我們已經看過的SQL Server Express和2008年比較: http://download.microsoft.com/download/A/4/7/A47B7B0E-976D-4F49-B15D-F02ADE638EBE/Compact_Express_Comparison.doc