2

每当我尝试打开 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 项目。

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

4

3 回答 3

3

LocalDB 是SQL 2012 Express 中引入的一项新功能-如果您需要以这种方式使用 MDF,则需要安装 SQL 2012 Express LocalDb 。

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

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

于 2013-01-23T19:02:38.833 回答
1

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

打开 SQL Server 2012 管理工作室。您可以在此处下载免费的快速版本:

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 实例。

希望这可以帮助 :)

于 2014-03-30T16:49:44.913 回答
0

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

网络配置:

<add name="ContextName" connectionString="Data Source=ServerName;Initial Catalog=DBCatalogName;Integrated Security=True;MultipleActiveResultSets=True;App=EntityFramework"
       providerName="System.Data.SqlClient" />
于 2013-01-23T14:47:15.717 回答