关于数据库的问题

时间:2012-03-25 00:38:48

标签: database asp.net-mvc

我对ASP.Net 4.0 MVC3(或4 Beta)的数据库有疑问。 我对ASP.net MVC环境以及一般数据库的使用都很陌生。

  1. 据说SQL Server Compact是本地数据库存储。这到底是什么意思?如果我将此用于我的Web应用程序,用户是否能够“访问”此数据库(例如注册,登录),或者我是唯一一个有访问权限的人,因为文件(.sdf)是“本地”并且是只在我的硬盘上?

  2. 假设我正在编写一个图书馆管理系统,需要在数据库中存储大量内容。最好只使用Visual Studio附带的SQL Server Compact,还是应该切换到MySQL或其他数据库?

  3. 我问,因为在进入ASP.Net世界之前我想清除所有内容(因为我将来会处理数据库)。

3 个答案:

答案 0 :(得分:2)

  1. “本地”与应用程序代码运行的位置相关,而不是用户所在的位置。如果您使用的是ASP.NET MVC,则应用程序代码在服务器上运行,数据库必须位于同一服务器上。使用Web应用程序的所有用户都可以使用它,因为访问是由应用程序完成的。

  2. 我会使用SQL Server Express,版本2008 R2每个数据库的限制为10GB(不包括FILESTREAM数据AFAIR),但这已经是批次数据。它是免费的但使用与完整SQL Server产品相同的引擎,但它对数据库大小(如上所述)和资源使用(并行处理和内存)有一些限制,对于许多应用程序来说它仍然是一个完美的解决方案。

答案 1 :(得分:1)

  1. 不,在这种情况下,“local”表示它包含在网站本身的包中。您当然希望将数据库文件与网站一起部署(但在将来的后续部署中注意不要覆盖它)。但想法是数据库是放在服务器上的文件,而不是服务器上安装的服务。

  2. 定义“很多东西”。我怀疑你是否会超出SQL Server Compact的容量,或者绝对需要它没有提供的功能。您需要比较各种数据库中的所有可用功能。 (大小限制,本机数据类型,易于集成,易于管理和部署,存储过程等)任何数据库都可能适合您,但您必须更多地定义您的需求而不仅仅是“很多”的东西。“

答案 2 :(得分:0)

<强> 1) SQL SErver Compact版是一款轻量级,嵌入式数据库引擎,可轻松实现数据库存储。这意味着您无需在计算机中安装任何软件即可使用此数据库。你可以简单地复制SQL Server精简版的DLL并放入你的bin目录并开始使用它。它不需要额外的设置或安全权限.SQL Server CE将数据库存储为磁盘上的文件。文件扩展名为.sdf您可以将SQL CE数据库文件存储在ASP.NET Web应用程序的\ App_Data文件夹中 以下是项目中的样子。

enter image description here

您也可以使用SQL CE执行与标准sql server express实例相同的操作。因此,您的用户将能够访问数据(通过您的应用程序)。

2) SQL Server CE会对此进行扩展处理。如果你有这么多的数据,你可能想尝试像SQL Server Express等更大的东西。但迁移很容易实现,因为它是真正的SQL Server数据库的缩小版。

如果您处于shread托管环境并且无法安装/访问SQL Server实例,则可以使用SQL Server CE,因为它是基于文件的。

这是一个很好的阅读:http://weblogs.asp.net/scottgu/archive/2010/06/30/new-embedded-database-support-with-asp-net.aspx