“此数据库文件与当前的SQL Server实例不兼容”

时间:2013-07-02 02:29:46

标签: sql visual-studio visual-studio-2012

我目前正在阅读一本关于MVVM的书,我需要在下一部分使用Northwind数据库。不幸的是,当我尝试将Northwind添加到我的项目时,我收到以下错误:

  

“连接到数据库时发生错误。数据库可能不可用。发生类型为'Microsoft.Data.ConnectionUI.SqlDatabaseFileUpgradeRequiredException'的异常。错误消息为:'此数据库文件与当前实例不兼容SQL Server。'“

我还没有安装SQL Server,只安装了Visual Studio 2012.本书指示我将.MDF文件添加到项目中,将其设置为实体数据模型,然后从数据库生成。它在下一个屏幕上,我收到错误。我使用NORTHWND.MDF作为数据连接,实体连接字符串如下:

  

metadata = res:// /Model1.csdl|res:// /Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string =“data source =(LocalDB)\ v11.0; attachdbfilename = | DataDirectory | \ NORTHWND.MDF; integrated security = True; MultipleActiveResultSets = True; App = EntityFramework”

在书中,内容如下:

  

metadata = res:// /Model1.csdl|res:// /Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string =“Data Source =。\ SQLEXPRESS; AttachDbFilename = | DataDirectory | \ NORTHWND.MDF; Integrated Security = True; UserInstance = True”

我尝试过使用这两种数据源但都没有工作。

另外值得注意的是,随书附带的示例代码也不起作用。它编译并启动,但在服务器资源管理器中,NORTHWND.MDF在图标中有一个“x”,启动时没有数据存在。

当我尝试升级数据库时,收到错误消息:

  

“数据库'... \ NORTHWND.MDF'无法升级,因为此版本的SQL Server不支持其非发行版本(539)。您无法打开与此版本的sqlservr不兼容的数据库。 exe。您必须重新创建数据库......“

如果有人能给我任何关于如何使其工作的提示,我当然会感激。

7 个答案:

答案 0 :(得分:1)

可能修复它的一种方法是,安装Sql Server 2012 Express并使用数据库连接到sql server。不要使用本地数据库。那可能有用。只是一个建议。

另外作为额外注意事项,您可能希望下载SQL Server 2012 Management Studio (我相信它附带上面的下载作为您选择的组件)。通过安装Management Studio,您可以单独测试数据库连接,创建表,运行查询等。这将使故障排除变得更加容易。

答案 1 :(得分:1)

默认情况下,Visual Studio不会安装任何数据库服务器,因此无法连接到一个数据库服务器。 MDF文件只是SQL Server存储其数据的文件,它不是一个独立的数据库。

您必须为两个连接字符串安装某些版本的SQL Server 2012 Express才能生效。

第一个连接字符串使用LocalDB功能,它基本上是SQL Server 2012 Exrpess(~35ΜΒ)的最小安装。您只能从您的计算机连接到LocalDB,这使其仅用于开发目的。

第二个连接字符串连接到本地计算机上安装的名为SQLExpress的SQL Server Express实际实例。第二个连接字符串将MDF文件作为用户实例附加到服务器,这意味着当您停止使用该文件时将释放该文件。

SQL Server Express的下载范围从130 MB到1.3 GB,具体取决于您下载的版本(使用高级服务的最小版本到完整版本)。

答案 2 :(得分:1)

Northwind数据库与2012不兼容,swind server 2012的Northwind数据库的兼容版本可以从下面的链接下载,下载.mdf文件后我们可以轻松地用sql server 2012附加它。我找到了以下它帮助了我,希望它会对你有所帮助。 How to Attach Northwind Database in Sql Server 2012

答案 3 :(得分:1)

如果我们尝试在.mdf模式下将SQL Express文件附加到我们的开发项目中,并在.mdf文件夹中添加App_Data文件时,我们会遇到如下异常:< / p>

"The database file is not compatible with the current instance of sql server...."

然后我们可以转到Server explorer窗口→转到Data connections→转到"your database"→右键点击Modify connection→查看Data sources和{{ 1}},然后使用Windows Database file name并按确定

它对我有用。

答案 4 :(得分:1)

修改连接可能会解决问题,但我不确定此数据库文件的类型是否已更改。

如果已安装与数据库文件对应的数据库服务器,我找到了解决此问题的方法。您只需要更改visual studio的默认数据库服务器。

在菜单上,选择工具 - &gt;选项 - &gt;数据库工具,然后在数据连接上输入与您已安装的数据库文件对应的SQL Server实例名称,然后按确定。

下一步也很重要,有必要点击“刷新&#39;或删除数据连接中的数据库文件名并重新打开该文件,该文件将再次添加到数据连接并成功打开。

答案 5 :(得分:0)

这对我有用:

  1. 在“添加连接”对话框中,单击Advanced
  2. 向下滚动到底部,查找名为Data Source
  3. 的字段
  4. 将其从(localdb)\MSSQLlocalDB更改为.\SQLEXPRESS

答案 6 :(得分:0)

  1. 首先进入数据连接,如图:1
  2. 2.然后浏览你的mdf文件,按确定,它将自动转换数据库。

    picture:01

    picture:02