我正在尝试将SQL Server Compact Edition 3.5用作销售应用程序的数据库后端。将有3-4个Windows窗体应用程序安装,它们(通过LINQ2SQL)读取和写入位于网络共享上的一个.sdf文件。
我的(非常严格的)测试表明这可行。 Documentation表示SQL Server CE最多支持256个连接。 Does SQL Server CE even lock its rows?我还应该担心其他并发问题吗?
最重要的是,是否有人使用SQL Server CE成功连接到同一数据库的多个应用程序?
我是否应该免除未来的麻烦并使用SQL Server Express?
答案 0 :(得分:14)
MS推荐(来自Darian Miller的comparison guide):
当您需要数据服务时 功能,如能力 支持多个远程用户 应该从SQL Server Express开始 版本并处理数据服务 家谱。
运行时在同一台机器上支持并发,不确定访问该文件的多台机器。如果文件存储在网络共享上,则可能不符合ce的最佳性能配置文件。我会说与EE一起使用,只需简单的msi就可以轻松安装。
SSCE并发:
SSCE允许多个连接 来自的相同数据库(.sdf文件) 相同的应用甚至多个 应用程序在同一台计算机上 这让你有更多的自由 根据需要构建应用程序, 例如允许用户继续 在执行时与数据交互 与后端同步 数据库,或有多个 应用程序在同一台机器上共享 SSCE数据存储。交易 并发锁是由 数据库引擎防止并发 访问相同的连接 记录在同一时间。该 并发技术限制 单个数据库的连接是 256,但70-80是更好的实用 从绩效角度来看限制。
http://technet.microsoft.com/en-us/library/bb380177%28SQL.90%29.aspx
答案 1 :(得分:2)
Micrsoft发表了一份白皮书,你应该阅读并适用于你的特定情况。
网络共享显然阻止Express成为一种选择。
答案 2 :(得分:0)
我会说只要你在一台机器上运行所有内容,你就不会对sql ce产生麻烦。在运行应用程序的每台计算机上安装Express版本都不好,繁琐且可能过度。