3

我已经开始了一个需要 SQL Server 数据库的项目。我将在 c# .Net 3.5 中构建一个前端应用程序,它将使用 LINQ to SQL。

我需要将数据库托管在网络共享上,以便一组用户都可以访问数据库,主要是只读的。

我知道 SQL Server Compact 设计为在本地计算机上运行,​​而我的公司不愿意承担完整的 SQL Server 的成本。

有没有办法通过 SQL Server Express 实现我需要做的事情?

如果是这样,哪些是关于如何设置的最佳指南?

谢谢

4

2 回答 2

3

如果您使用(免费)SQL Server express,它将满足您的需求 - 但您不能通过网络共享驱动器访问它 - 服务器将通过 IP 地址(或等效的 DNS)定位。

您的 c# 应用程序将与服务 - SQL Server - 而不是从数据库文件读取/读取。该服务将处理与数据库的交互。只有 SQL Server 服务需要知道文件的实际位置——您的客户端机器不知道也不应该关心。

如果你的背景只是基于文件的数据库——即 MS Access,你需要稍微改变一下你对 SQL Server 工作原理的看法。

于 2012-08-14T14:21:25.477 回答
1

您可以安装 SQL Server Express 实例并为所有需要访问数据库的用户安装 SQL Management Studio Express。Express Edition 是标准 SQL 服务器,在使用的处理器数量、使用的最大内存量和最大数据库大小方面存在限制。如果这些限制不打扰您,它应该适合您。

使用网络共享作为数据库存储来访问来自多个客户端的 db 文件是一个坏主意,因为 sql server 实例应该始终是唯一直接访问数据库的实例,包括读取和写入访问。配置多个 SQL Server 实例来访问同一个数据库可能不起作用——如果它起作用,它可能会在您的数据库文件中造成严重破坏。

于 2012-08-14T14:10:41.533 回答