0

我开发了一个 WPF 应用程序,一个工作单元和存储库模式。我正在使用 SQL Server CE 3.5 SP2。在单线程上使用时,我的应用程序运行良好。但是当我在服务器上使用它时,用户通过远程桌面连接进行连接,它变成了产生问题的多线程应用程序。

我的数据库在Environment.SpecialFolder.CommonApplicationData.

当两个用户同时使用数据库触发任何事务时,我收到以下错误:

内部错误:无法打开共享内存区域。

数据库已被其他用户打开。

避免这种情况的最佳方法是什么?或者,如果情况无法避免,那么处理这种异常的最佳方法是什么..

4

1 回答 1

0

正如@marc_s 评论的那样,您确实应该尝试使用至少SQL Server Express甚至更高版本来使多个并发用户能够同时从您的应用程序成功访问数据库。

在多用户场景中的 SQL Server CE 中提出了一个类似的问题- 这真的非常愚蠢吗?post 并且该帖子有一个很好的答案,其中包含您应该查看的更多详细信息。

于 2013-10-05T14:21:30.813 回答