【问题标题】:SQL Server Express / MS Access LINQ Features, Which One to Use?SQL Server Express / MS Access LINQ 特性,该使用哪一个?
【发布时间】:2008-11-15 17:40:32
【问题描述】:

我有几个 ASP.Net 数据库前端网站,其中 MS Access 是后端。我正在尝试使用 ASP.Net 动态数据网站。我应该将此数据库更改为 SQL Server Express 还是其他方式以使其更容易,还是应该使用 MS Access。

【问题讨论】:

  • Access 不是后端 -- Jet 是。

标签: c# asp.net sql-server linq ms-access


【解决方案1】:

出于以下原因选择 SQL Express:

  1. 缩放:MS Access 永远不会缩放。一旦超过 10 个并发连接,您就会开始遇到麻烦。 SQL Express 将扩展。您始终可以将 SQL Express 升级到完整的 SQL Server 安装。虽然这在 Access 中有些真实,但您的某些 SQL 语句和数据类型可能无法干净地传输。
  2. 安全性:SQL Server 具有比 Access 更好的安全模型。您可以为每个用户锁定数据库中的架构。您还可以更好地管理用户访问权限(想想开发用户、测试用户和生产用户)。
  3. 性能:这类似于缩放。如果您的网站出现流量高峰,Access 可能无法处理,而 SQL Server Express 可能会。
  4. 工具:像 LINQ 这样的工具和库总是以 SQL Server 为目标。通过这种方式,您将获得更好的支持和更好的文档。

【讨论】:

    【解决方案2】:

    Jet 后端适用于大多数只读网站,即使是流量不错的网站。 Michael Kaplan 的旧网站http://trigeminal.com 使用 Jet 数据库作为后端,当它是他的主要网站时(他后来被微软雇用),他说它每天获得超过 10 万次点击,并且一直保持很好。

    对于读/写操作,Jet 将开始在网站上停滞不前,这与它在多用户 LAN 应用程序中的停滞位置大致相同,同时连接数在 20 到 50 个之间,具体取决于您应用的设计。

    不管怎样,尽管我是一名专业的 Access 开发人员并且非常了解 Jet,但我不使用 Jet 作为我任何网站的后端。这并不是因为我不喜欢 Jet 用于网站,而是因为我不喜欢 Windows 用于 Web 服务器——我是 Apache 支持者(和 PHP 开发人员),并且托管所有我的网站(以及我的客户)在非 Windows 托管服务上(目前它们都是 Linux,但并非总是如此)。我做过的所有网站数据库都使用 MySQL 作为后端。

    简而言之,找出您的主机在数据库后端方面提供的功能,然后选择最好的。我无法想象一个提供 ASP.NET 的主机不提供 SQL Server,而这绝对是我在那种情况下会选择的。将 Jet 后端升级到本地 PC 上的 SQL Server 会很容易,然后进行可以导入到网站的备份。

    【讨论】:

    • 另一种看待它的方式是,您希望在应用程序上花费多少时间,以及您希望在工具上花费多少时间。
    • 您的评论究竟对讨论有什么贡献?
    【解决方案3】:

    您可以使用 LINQ to DataSet 对 Access .mdb 或 .accdb 数据库使用 Linq。

    您可以在http://msdn.microsoft.com/en-us/library/bb386977.aspxhttp://blogs.msdn.com/adonet/archive/2007/01/26/querying-datasets-introduction-to-linq-to-dataset.aspx 阅读更多内容

    【讨论】:

      猜你喜欢
      • 2011-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多