SQL Server CE - 是不是需要安装(而不仅仅是包含 DLL)?

Posted

技术标签:

【中文标题】SQL Server CE - 是不是需要安装(而不仅仅是包含 DLL)?【英文标题】:SQL Server CE - is an installation required (as opposed to just a DLL include)?SQL Server CE - 是否需要安装(而不仅仅是包含 DLL)? 【发布时间】:2010-07-27 08:31:33 【问题描述】:

背景 - 如果我正在构建 WPF 桌面应用程序(VS2010 和 .NET 4)并且想要使用轻量级数据库但无需单独安装。从我读到的内容来看,SQLite 没问题,但是我认为坚持使用 Microsoft 位并尝试使用 SQL Server CE 会很好。

问题 - SQL Server CE 是否需要独立于我的 WPF 应用程序安装的“安装”?还是只需要我在 VS2010 中创建数据库(尽我所能)并确保在部署应用程序时包含适当的 DLL?我正在查看以下链接中的 doco,但我不清楚...

http://technet.microsoft.com/en-us/library/bb190958(SQL.100).aspx

谢谢

PS。我看到的另一个令人担忧的项目是“如果您安装 Windows XP SP2,要使用 SQL Server Compact 连接,您将必须启用 HTTP 访问。默认设置是禁用 HTTP 访问”,来自页面http://technet.microsoft.com/en-us/library/ms171869(SQL.100).aspx 所以希望这不是能够在没有安装问题/大惊小怪的情况下使用 CE 的另一个复杂因素?

【问题讨论】:

【参考方案1】:

您不需要安装 SQL Server CE 2005。只需复制 DLL as described on MSDN。不需要管理员权限。

【讨论】:

【参考方案2】:

Sql Server CE 版本 4 不需要安装,但它还没有发布(甚至没有测试版)。你可以在这里阅读更多信息: New Embedded Database Support with ASP.NET

如果我是你,我会坚持使用 Sqlite。它是免费的,拥有出色的 .Net 提供程序并支持实体框架,而且速度非常快。

【讨论】:

谢谢 - 所以对于简单的数据库结构,CE 与 Sqlite 相比没有明显优势? -1 错误。这不是选择 Sqllite 的理由。该链接是关于安装以与 ASP.net 应用程序一起使用的。 SQL Server CE 2005 不需要安装桌面应用程序。 Just copy the DLLs as described on MSDN 检查(我的回答如下)微软关于安装 SQL Server Combact 3.5 的说法【参考方案3】:

根据this微软文档:

“要在应用程序中安装 Microsoft SQL Server Compact 3.5 (SQL Server Compact 3.5),您必须运行适用于台式计算机的 SQL Server Compact 3.5 安装程序 (SSCERuntime-ENU.msi)。通过运行安装程序来安装 SQL Server Compact 3.5注册本机 DLL 并将托管程序集放在全局程序集缓存中。这确保计算机上 SQL Server Compact 3.5 的安装可以由 Microsoft 更新或类似技术提供服务。"

另请参阅this 文章(LINQ 和部署 SQL Server CE 3.5)

【讨论】:

最初 Msft 曾说过 MSI 是您链接中的部署所必需的,但他们也以迂回的方式打开了仅 dll 进程,因为该应用程序将自动加载 sqlce DLL应用程序的本地目录在安装程序放置在程序文件中的目录之前。看起来与 VS2010 文档(MarkJ 的链接)一样,它们已经出来并明确支持 dll 捆绑方法(您的第二个链接也描述了该方法) @Anthony,@ileon。我认为 Anthony 是正确的,您不必运行安装程序。如果您运行安装程序,则 sqlce 将由 Windows Update 更新。如果您在本地复制 DLL,则不会。

以上是关于SQL Server CE - 是不是需要安装(而不仅仅是包含 DLL)?的主要内容,如果未能解决你的问题,请参考以下文章

Microsoft 替换 SQL Server CE

Sql Server CE 是不是支持多线程?

如何检查 SQL Server CE 3.5 中是不是存在表

我可以将 Sql Server CE (3.0) 用作 Windows 应用程序的嵌入式数据库吗?我必须在机器上安装 Sql Server CE 吗?

检查sql server ce中是不是存在项目的最佳方法?

Windows Phone 7.5 的 SQL Server CE (local db) 是不是支持触发器?