【问题标题】:Visual Studio 2010 complains about database versionsVisual Studio 2010 抱怨数据库版本
【发布时间】:2013-01-12 06:25:27
【问题描述】:

又是美好的一天。

好的,我想做的是将数据库保存在 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 帮助我度过难关。

【问题讨论】:

  • 您安装了哪个版本的 SQL Server(Express / else)?

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


【解决方案1】:

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

【讨论】:

  • Visual Studio 2010 默认使用 SQL Server 2008 吗?
  • 它使用连接字符串定义的那个。如果您同时安装了它们,则它们必须具有不同的实例名称,这是Data Source中的连接字符串的一部分@
  • 我已将连接字符串添加到我的帖子中,我应该如何/应该编辑它?
  • .\SQLExpress 后面的 SQL 版本是什么?由于您的错误,它应该是 SQL Express 2008。您安装的 SQL Express 2008 R2 实例的名称是什么?
  • 对不起,我是一个新手,我该如何告诉实例? (对不起)
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

      迟到。这是我发现的。

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-02-16
        • 1970-01-01
        • 2011-03-19
        • 2013-03-09
        • 1970-01-01
        • 1970-01-01
        • 2019-01-21
        相关资源
        最近更新 更多