SQL Server CE + Addin读写冲突避免?

时间:2009-08-27 16:54:51

标签: sql-server-ce add-in outlook-addin office-addins

我们有一个Office Addin,它使用Sql CE和通常的DBConnection连接到文件系统中的* .sdf('C:/ ... etc ...')。当我们启动具有Sql CE扩充Office Addin的应用程序的两个副本(测试用户可能错误地执行的操作)时,Sql CE数据库已损坏,并且Office 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

1 个答案:

答案 0 :(得分:0)

如果我理解正确你的用例并不真正需要两个正在运行的应用程序,那么如果用户错误地这样做,你只需要捕获错误。

在这种情况下,检查你的插件是否已经运行(无论你的语言/框架支持哪种......)应该足够了。如果有另一个实例,只是不要实例化插件。