1

又是美好的一天。

好的,我想做的是将数据库保存在 App_Data 文件夹中以便于使用,现在我认为这很容易:将数据库复制到文件夹中并更改连接字符串。但是当我尝试这样做时,我得到了可怕的版本错误:

无法打开数据库“C:\USERS\GUСMUNDUR\DESKTOP\TEST\TEST\APP_DATA\IRIS2.MDF”,因为它是版本 661。此服务器支持版本 655 及更早版本。不支持降级路径。无法打开新数据库 'C:\USERS\GUСMUNDUR\DESKTOP\TEST\TEST\APP_DATA\IRIS2.MDF'。CREATE DATABASE 已中止。尝试为文件 C:\Users\Guðmundur\Desktop\Test\Test\App_Data\IRIS2.mdf 附加自动命名数据库失败。存在同名数据库,或无法打开指定文件,或位于 UNC 共享上。

现在我想知道是否有人可以提出解决方案,我可以通过 SQL 脚本重新创建数据库,所以没有问题,并且那里没有重要的(尚未)信息。

有任何想法吗?

这是连接字符串:

  <connectionStrings>
    <add name="ApplicationServices"
         connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|IRIS2.mdf;User Instance=true"
         providerName="System.Data.SqlClient" />
  </connectionStrings>

我使用的解决方案

我进入 SQL Server Management Studio 并将数据库附加到那里,同时将其保存在 App_Data 文件夹中。然后我进入 Visual Studio,创建了一个新的数据连接,创建后我单击它并进入它的属性选项卡,并从连接字符串中选择所有内容并用它替换我原来的内容。

所以连接字符串现在看起来像这样:

  <connectionStrings>
    <add name="ApplicationServices"
          connectionString="Data Source=WODAN;Initial Catalog=IRIS;Integrated Security=True"
          providerName="System.Data.SqlClient" />
  </connectionStrings>

以下是附件过程的说明(由 Ladislav Mrnka 提供)msdn.microsoft.com/en-us/library/ms190209.aspx

感谢大家的投入,特别感谢 Ladislav 帮助我完成任务。

4

4 回答 4

2

这意味着您的 .mdf 文件是由较新版本的 SQL Server 创建的。661 应该是 SQL Server 2008 R2,您可能只使用 SQL Server 2008(即可以作为 Visual Studio 2010 安装的一部分安装的版本)。

于 2011-05-07T15:38:00.317 回答
1

版本 655 是 SQL 2008。661 是 2008 R2。盒子不知道如何处理较新的版本。

于 2011-05-07T15:39:37.397 回答
1

在“添加连接”对话框中,单击“高级..”按钮。找到 Data Source 属性并确保下拉列表与您正在使用的实例匹配。

于 2011-07-21T15:08:29.697 回答
1

迟到。这是我发现的。

一个人可能在他们的系统上同时安装了 2008 和 2008 R2。但是,如果您看到无法打开 661 版本的错误消息,请将您的 SQL Server Express更新到 2008 R2。它将解决问题。

只要您使用的是 SQL Server 的速成版,就可以直接在您的 Visual Studio 中打开 MDF 文件。

于 2013-01-11T22:25:27.173 回答