在 ASP.NET 网站中使用 SQL Server Compact Edition

Posted

技术标签:

【中文标题】在 ASP.NET 网站中使用 SQL Server Compact Edition【英文标题】:using SQL Server Compact Edition in ASP.NET websites 【发布时间】:2011-09-23 14:53:24 【问题描述】:

我对数据库几乎一无所知,但需要在我的 ASP.NET 微型网站上存储和呈现用户输入(最多数千条记录)。我应该考虑 SQL Server Compact Edition 吗?在 Microsoft 文档中我发现:

SQL Server Compact 3.5 当前未优化为用作网站的数据库。默认情况下,来自 ASP.NET 连接的应用程序的连接在 SQL Server Compact 3.5 中被阻止。 SQL Server Compact 3.5 经过优化,可用作应用程序中的嵌入式数据库。使用 SQL Server Compact 3.5 作为网站数据库需要支持多用户和并发数据更改。这可能会导致性能问题。因此,不支持这些方案。 SQL Server 的其他版本(包括 SQL Server 2005 Express Edition 及更高版本)经过优化,可用作网站的数据库。

但后来我记得读过一些用户评论说 4.0 版本的 SQL Server CE 终于在 ASP.NET 场景中正常工作了。有人愿意分享他的经验吗?我想先尝试 CE,因为 SQL Server 需要在我的托管上额外付费。

【问题讨论】:

【参考方案1】:

来自 SQL Server Compact 4.0 的 download site:

Microsoft SQL Server Compact 4.0 是一个免费的嵌入式数据库,软件开发人员可以使用它来构建 ASP.NET 网站和 Windows 桌面应用程序。

还有:

SQL Server Compact 4.0 支持新方案并包含许多新功能,包括:

SQL Server Compact 4.0 是 Microsoft WebMatrix 的默认数据库,它是一组 Web 技术,可用于在 Windows 平台上轻松构建和部署网站

(强调我的)

总之 - 它专门针对网络场景进行了增强。

【讨论】:

【参考方案2】:

是的,SQL Server Compact 4.0 的设计考虑了与您的场景相似的场景。

New Embedded Database Support with ASP.NET

SQL CE 是一个免费的嵌入式数据库引擎,可轻松实现数据库存储。

无需安装数据库

SQL CE 不需要您运行安装程序或安装数据库 服务器才能使用它。您可以简单地复制 SQL CE 二进制文件 进入 ASP.NET 应用程序的 \bin 目录,然后进入你的 web 应用程序可以将其用作数据库引擎。无需设置或额外 它需要安全权限才能运行。你不需要 在机器上拥有管理员帐户。只需复制您的网络 应用程序到任何服务器上,它都会工作。这甚至是真实的 在 Web 托管环境中运行的中等信任应用程序。

SQL CE 在您的 ASP.NET 应用程序中在内存中运行,并将 当您第一次访问 SQL CE 数据库时启动,并且将 卸载应用程序时自动关闭。 SQL CE 数据库存储为位于 \App_Data 文件夹中的文件 您的 ASP.NET 应用程序。

Visual Studio 2010 SP1 包括用于 SQL CE 的 new tooling support

【讨论】:

很棒的工具,但是……对我来说扼杀它的是它不支持存储过程。

以上是关于在 ASP.NET 网站中使用 SQL Server Compact Edition的主要内容,如果未能解决你的问题,请参考以下文章

C#/ASP.NET 网站使用 SQL Server CE 数据库慢查询

高效的asp.net sql查询

在 ASP.NET 中使用 .MDF SQL Server 数据库与使用 SQL Server

ABP vue+asp.net core yarn serve报 Cannot find module 'typescript/package.json错误

ASP.NET SQL 配置

生产服务器上的 ASP.NET 网站性能缓慢