是否有可以与我的 WinForms 应用程序一起打包并且免费的紧凑型或快速 SQL Server 版本?
Posted
技术标签:
【中文标题】是否有可以与我的 WinForms 应用程序一起打包并且免费的紧凑型或快速 SQL Server 版本?【英文标题】:Is there a compact or express SQL Server version that I can package with my WinForms app & is free? 【发布时间】:2010-12-04 04:09:02 【问题描述】:我可以使用具有以下特点的轻量级 SQL Server 版本:
-
免费(假设我的 winforms 应用是半商业的)
可以无缝打包以作为 winforms click-once 应用程序的一部分进行部署吗? (即便于用户安装)。
对用户来说是轻量级的(理想情况下只在使用它的 winforms 应用程序运行时运行 - 但比使用 XML 序列化实现持久性更好)。
谢谢
【问题讨论】:
【参考方案1】:紧凑: - 你不需要改变你的应用程序的逻辑; - MS Sql Management studio 可用于编辑、可视化创建数据结构;) - 部署,第二次部署更容易:)
SQLite: - 在谷歌搜索问题:),有很多人使用它并遇到问题,不是从一开始而是在实施“conctetical”任务/项目期间 - 不存在与 dbase 一起使用的本机可视界面(存在 3party 产品,但它们不是免费的); - 再次第 2 次、第 3 次……部署需要更多关注,时间金钱 :) ...
所以,对我来说,使用 MSSqlCompact 会更好,因为我正在使用 .net 类型的项目,我必须支持我的结果,我必须提供稳定的应用程序等...
【讨论】:
它只是您部署的应用程序使用的文件吗?或者它是否需要安装自己的程序才能使用然后安装/使用您的应用程序?【参考方案2】:最佳选择是SQLite。 .NET 上有 ADO.NET 实现,因此它与任何其他数据库一样易于使用。嗯,很好的例子是谷歌浏览器。
只有一个未解决的问题:安全性。据我所知,限制对 SQLite 数据库文件的访问很痛苦。
【讨论】:
你会投票支持 SQLite 而不是 SQL Server Compact Edition terrOq?我可以问为什么(只是为了理解) 视情况而定。但据我所知,有两个主要提示: 1. SQLite 更轻。不幸的是我没有做过个人测试(但可以做),但是经过一些网络搜索后有这样的印象:) 例如:dotnetperls.com/sqlite-versus-sqlce 2. SQLite 提供内存操作。 哦,忘了。当没有内存问题并且易于支持是优先事项时(例如,我们有快速的实验开发或“我的家”实用程序),SQL CE 是一个不错的选择:它可以直接连接到 SQL Management Studio,这是一个很好的工具。 【参考方案3】:我不知道任何此类 (Microsoft) SQL 服务器版本。但如果我遇到这种情况,我肯定会选择SQLite 或Firebird
【讨论】:
SQL Server Express 和 SQL Server Compact Edition 一样免费。 是的,它们当然是,我现在正在使用 SQL Express 2005,但考虑到他的其他要求,我建议使用 sqlite 和 firebird。【参考方案4】:是的 - SQL Server Compact Edition:
为台式机和移动设备构建嵌入式数据库应用程序 SQL Server Compact 3.5 是一个免费、易于使用的嵌入式数据库引擎,可让开发人员构建可在所有 Windows 平台(包括 Windows XP、Vista、Pocket PC 和 Smartphone)上运行的强大的 Windows 桌面和移动应用程序.
SQL Server CE 是一组可以包含在应用程序中的 DLL。
SQL Server 2008 Express 也是免费的,但它是一个独立的服务器安装。
马克
【讨论】:
谢谢大家 - 我是否正确地说 (a) sqlite 和 (b) SQL Server CE 都可以通过一个应用程序无缝部署?关于我应该首先研究哪一个的任何建议?当我在谷歌搜索时,我开始觉得 sqlite 可能是我应该深入研究的最轻量级的一个?除非出于某种原因,SQL Server CE 本身对于使用 C#/Visual Studio 的 .net 开发人员有更好的集成? 我对 SQLite 了解不多,我必须说 - 但 SQL CE 肯定更接近“完整”的 SQL Server,所以如果您已经了解并使用 SQL Server,那可能会更容易使用。此外,SQL Server CE 可以与偶尔连接的客户端的 ADO.NET 同步服务一起使用 - 不确定 SQLite 是否有这样的支持,如果你可能需要在你的应用程序中使用它 SQLite 很棒,但我也推荐使用 SQL CE——我们在迁移到独立数据库之前已经使用了一段时间,除了多进程并发的一些问题(它应该可以工作但有些次失败的交易)它工作得很好并且易于管理。如果您已经在使用 M$ 堆栈,这是一个不错的选择。以上是关于是否有可以与我的 WinForms 应用程序一起打包并且免费的紧凑型或快速 SQL Server 版本?的主要内容,如果未能解决你的问题,请参考以下文章