多用户场景中的SQL Server CE - 这真的非常愚蠢吗?

时间:2010-01-02 20:24:28

标签: sql-server-ce

我正在尝试将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?

3 个答案:

答案 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发表了一份白皮书,你应该阅读并适用于你的特定情况。

http://download.microsoft.com/download/A/4/7/A47B7B0E-976D-4F49-B15D-F02ADE638EBE/Compact_Express_Comparison.doc

网络共享显然阻止Express成为一种选择。

答案 2 :(得分:0)

我会说只要你在一台机器上运行所有内容,你就不会对sql ce产生麻烦。在运行应用程序的每台计算机上安装Express版本都不好,繁琐且可能过度。