然后我发现有一种叫做 SQL Server Compact 的东西。问题是,我的应用程序已经相当大了。所以我的问题是,如果我想改用 SQL Server Compact,那么我的代码需要做哪些改变(使用 C#)?
主要我想知道是否可以像访问 Express 版本一样访问 Compact 版本,也就是使用 ADO.NET 并将其指向 localhost\sqlexpress。所以是否可以创建另一个实例并将我的应用程序指向它,或者它是以完全不同的方式使用的?
对于一个独立的桌面产品而言,与SQL Express相比,SQL CE确实是一个值得考虑的轻量级选项。
然而,除了连接字符串之外,两者之间还有其他需要注意的区别。例如,SQL CE不支持存储过程、用户定义函数或触发器。此外,它也不支持Express支持的全部数据类型范围。在技术层面上,它还会与应用程序一起运行。
另一个需要考虑的因素是,虽然SSMS可以使用SQL CE数据库,但其功能并不像与SQL Express一样完整。然而,有很多好的工具可以填补这些差距。可以查看Erik Jensen的博客以获得良好的概述。
此外,也可以查看他用于将SQL Express数据库迁移到SQL Compact的工具:
How to Migrate/Downsize a SQL Server database to SQL Server Compact 4.0 (and 3.5)
最后,请查看此SO问题以了解更多关于这两个产品之间的背景信息:
我最近在使用它,我知道的关于它们的使用是SQL Express有一个服务器可以连接,而Compact是一个sdf文件,所以你需要改变的第一件事就是连接字符串。
在这个更改之后,没有更多的重大更改需要进行,我记得,Compact几乎拥有Express服务器可用的所有指令,所以应该不会有太多问题。
查看Microsoft文档获取更多信息,或者Wikipedia。
再见。