Visual Studio 2010抱怨数据库版本

时间:2011-05-07 15:31:11

标签: sql-server visual-studio-2010 version sqlexception

再一次美好的一天。

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

  

数据库   'C:\用户\格维兹\ DESKTOP \ TEST \ TEST \ APP_DATA \ IRIS2.MDF'   无法打开,因为它是版本   661.此服务器支持655及更早版本。降级路径不是   支持的。无法打开新数据库   'C:\用户\格维兹\ DESKTOP \ TEST \ TEST \ APP_DATA \ IRIS2.MDF'。   CREATE DATABASE被中止。一次尝试   附加一个自动命名的数据库   文件   C:\用户\格维兹\桌面\测试\测试\ 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 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

版本655是SQL 2008. 661是2008 R2。该框不知道如何处理新版本。

答案 2 :(得分:1)

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

答案 3 :(得分:1)

迟到了。这是我发现的。

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

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