【问题标题】:Sql Server LocalDB Issue In Asp.NET MVC 4 ProjectAsp.NET MVC 4 项目中的 Sql Server LocalDB 问题
【发布时间】:2013-01-23 13:42:01
【问题描述】:

每当我尝试打开 db_name.mdf 文件时,我都会收到以下错误:

The database '{path}\db_name.MDF' cannot be opened because it is version 706. This server supports version 662 and earlier. A downgrade path is not supported. Could not open new database 'db_name.MDF'. CREATE DATABASE is aborted. An attempt to attach an auto-named database for file {$path}\db_name.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share.

连接字符串如下:

<add name="PasswordDBContext" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\db_name.mdf;Integrated Security=True" providerName="System.Data.SqlClient" />

我正在 Visual Studio 中开发一个 asp.net mvc 4 项目。

非常感谢任何有助于解决问题的帮助。谢谢。

【问题讨论】:

  • 好的,谢谢。那么,您认为我应该降级 mdf 吗?会有用吗?

标签: sql-server entity-framework asp.net-mvc-4 localdb


【解决方案1】:

LocalDB 是 new feature introduced in SQL 2012 Express - 如果您需要以这种方式使用 MDF,则需要 install SQL 2012 Express LocalDb

Krzysztof Kozielczyk 在 LocalDB here 上发表了几篇博文 - 请特别注意在“完整 IIS”下运行时的问题。

IMO 使用 LocalDb 和 ASP.NET 仅适用于开发人员机器配置 - 即,当您准备将(代码优先?)MVC 4 应用程序部署到测试或生产环境时,您应该考虑更永久地附加 ASPNETDB.MDF到 SQL 实例。

【讨论】:

    【解决方案2】:

    您无法在 SQL Server 2012 Management Studio 中附加 MVC 4 localDB。您需要直接连接。

    打开 SQL Server 2012 Management Studio。您可以在此处下载免费的快速版本:

    http://www.microsoft.com/en-us/download/details.aspx?id=29062

    在安装过程中,请务必检查要安装的 localDB 组件。

    安装完成后,打开Management Studio,会出现“连接服务器”对话框。

    在服务器名称文本框中输入 (LocalDb)\v11.0。使用windows认证,点击连接。

    您的 asp 数据库将显示在管理器中。然后,您可以将其编写为您想要的任何内容并编辑数据库并对您的网络配置中的连接字符串进行适当的更改。

    请记住,如果您使用的是 VS 2013 的 MVC Internet 模板中使用的 Code First,您需要检查您的应用启动文件夹中的数据库创建代码。

    LocalDB 的创建使您可以创建数据驱动的 Web 应用程序,而无需在开发计算机上运行完整版本的 SQL Server 的开销。当您部署到生产服务器时,请迁移到完整的 SQL Server 实例。

    希望这会有所帮助:)

    【讨论】:

      【解决方案3】:

      将您的数据库连接字符串设置为本地安装的数据库,如下所示。

      Web.config:

      <add name="ContextName" connectionString="Data Source=ServerName;Initial Catalog=DBCatalogName;Integrated Security=True;MultipleActiveResultSets=True;App=EntityFramework"
             providerName="System.Data.SqlClient" />
      

      【讨论】:

        猜你喜欢
        • 2018-06-07
        • 1970-01-01
        • 2015-11-19
        • 2016-08-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-02-13
        • 1970-01-01
        相关资源
        最近更新 更多