我正在尝试使用SQL Server Compact Edition 3.5作为销售应用程序的数据库后端。将有3-4个Windows Forms应用程序的安装,所有这些应用程序都(通过LINQ2SQL)读取和写入位于网络共享上的一个.sdf文件。
我的(相当有限的)测试表明这是可行的。Documentation指出,SQL Server CE最多支持256个连接。Does SQL Server CE even lock its rows?是否还有其他我应该担心的并发问题?
底线是,是否有人成功地在多个应用程序连接到同一数据库的情况下使用SQL Server CE?
我是否应该省去将来的麻烦,转而使用SQL Server Express?
发布于 2010-01-03 04:29:43
MS推荐(摘自Darian Miller的comparison guide):
当您需要数据服务功能时,如能够支持多个远程用户,则应从SQL Server Express Edition开始,并逐步构建数据服务家族树。
运行库支持同一台计算机上的并发,不确定是否有多台计算机访问该文件。在文件存储在网络共享上的情况下,这可能不适合ce的最佳性能简档。我会说使用EE,安装一个简单的msi非常简单。
SSCE并发性:
SSCE允许从同一应用程序甚至同一台计算机上的多个应用程序到同一数据库(.sdf文件)的多个连接。这使您可以根据需要更自由地构建应用程序,例如允许用户在与后端数据库执行同步时继续与数据交互,或者让同一台计算机上的多个应用程序共享一个SSCE数据存储。事务并发锁由数据库引擎创建,以防止并发连接同时访问相同的记录。单个数据库的并发连接的技术限制是256,但从性能的角度来看,70-80是更好的实际限制。
http://technet.microsoft.com/en-us/library/bb380177%28SQL.90%29.aspx
发布于 2010-01-03 04:31:25
Micrsoft发布了一份关于这方面的白皮书,您应该仔细阅读并适用于您的特定情况。
http://download.microsoft.com/download/A/4/7/A47B7B0E-976D-4F49-B15D-F02ADE638EBE/Compact_Express_Comparison.doc
网络共享显然排除了Express作为一种选择。
发布于 2010-01-03 07:21:12
我要说的是,只要你在一台机器上运行所有的东西,你使用sql ce就不会那么头疼了。在运行应用程序的每一台计算机上安装Express版并不好,而且很麻烦,而且可能有些过头了。
https://stackoverflow.com/questions/1992713
复制相似问题