4

我目前正在阅读一本关于 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;集成安全=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;集成安全=True;UserInstance=True"

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

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

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

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

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

4

8 回答 8

28

我的简单方法:

转到 VisualStadio 2012 在服务器资源管理器窗口中打开数据连接右键单击 ASPNETDB.MDF 单击修改连接...为您打开一个新窗口...如果为您打开其他窗口,您只需单击确定单击是完成(开心) :D

于 2015-09-19T06:57:59.133 回答
3

如果我们尝试在我们的开发项目.mdf中以模式附加文件,并且在文件夹中添加文件时,我们会遇到如下异常:SQL Express.mdfApp_Data

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

然后我们可以转到Server explorer窗口→转到Data connections→转到"your database"→右键单击Modify connection→选中Data sourcesDatabase file name,然后使用windowsAuthentication并按OK

这个对我有用。

于 2017-06-04T10:38:43.980 回答
1

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

另外作为额外说明,您可能需要下载 SQL Server 2012 Management Studio(我相信它与上述下载一起作为您选择的组件提供)。安装 Management Studio 后,您可以单独测试数据库连接、创建表、运行查询等。这将使故障排除变得更加容易。

于 2013-07-02T10:50:35.923 回答
1

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

您必须安装某些版本的SQL Server 2012 Express才能使两个连接字符串正常工作。

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

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

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

于 2013-07-02T11:09:24.573 回答
1

2012的Northwind数据库不是很容易兼容的,可以从下面的链接下载Northwind数据库的sql server 2012兼容版本,下载.mdf文件后我们可以很容易地将它附加到sql server 2012。我找到了以下内容帮助了我,希望对你有帮助。如何在 Sql Server 2012 中附加 Northwind 数据库

于 2013-09-07T16:19:23.203 回答
1

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

如果你已经安装了数据库文件对应的数据库服务器,我已经找到了解决这个问题的方法。您只需要更改 Visual Studio 的默认数据库服务器。

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

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

于 2018-04-26T02:40:38.500 回答
1
  1. 首先如图所示进入数据连接:1

2.然后浏览你的mdf文件按ok,它会自动转换数据库。

图片:01

图片:02

于 2018-02-22T09:45:41.143 回答
0

这对我有用:

  1. 在“添加连接”对话框中,单击Advanced
  2. 向下滚动到底部并查找名为 的字段Data Source
  3. 将其从 更改(localdb)\MSSQLlocalDB.\SQLEXPRESS
于 2017-09-21T19:01:47.143 回答