从使用SQL Server Express切换到SQL Server Compact

bob*_*lez 6 c# sql sql-server-express sql-server-ce

到目前为止,我一直在我的桌面应用程序上使用SQL Server Express,即使通常服务器仅由单个用户在同一台​​机器上使用该单个应用程序.这对我来说似乎总是有些愚蠢,因为全面的服务器相当沉重.

然后我发现有一种叫做SQL Server Compact的东西.事实上,我的申请已经相当庞大.所以我的问题是,如果我想改用SQL Server Compact,我们谈论的代码有哪些变化(使用C#)?

主要是我想知道我是否可以像访问Express一样访问Compact -version,它使用ADO.NET并将其指向localhost\sqlexpress.那么是否可以使用Compact创建另一个实例并将我的应用程序指向它,或者是以完全不同的方式使用它?

Ira*_*ney 10

对于独立的桌面产品,它肯定是考虑SQL Express的轻量级选项.

但是,除了连接字符串之外,两者之间存在差异.例如,SQL CE不支持存储过程,用户定义的函数或触发器.此外,它不支持Express支持的所有数据类型.在技​​术层面上,它也会与您的应用程序一起运行.

另一个考虑因素是虽然SSMS可以与SQL CE数据库一起使用,但它并不像SQL Express那样功能齐全.然而,有一大堆好工具可以填补这些空白.看一看Erik Jensen的博客,以获得一个很好的概述.

一切SQL Server Compact

另请查看他的SQL Express数据库迁移到SQL Compact的工具:

如何将SQL Server数据库迁移/缩小为SQL Server Compact 4.0(和3.5)

最后看看这个SO问题,了解两种产品之间的更多背景:

SQL Server Compact有哪些限制?(或者 - 如何选择在MS平台上使用的数据库?)