为解决方案生成代码图 - 无法连接到指定的数据库

use*_*ser 5 visual-studio visual-studio-2017

我正在尝试使用 Visual Studio 2017 Enterprise 生成代码映射,但收到以下错误:

在此处输入图片说明

请注意数据源:Data Source=(LocalDB)\MSSQLLocalDB。当我在我的解决方案中搜索 MSSQLLocalDB 时,什么也没有出现。我的应用程序不使用 SQL Server 2016(这是我认为连接字符串的用途)。它使用 2012。我所有的连接字符串都使用 (localdb)\v11.0。

我尝试过的修复/注释:

  • 我试图查看 XML 文件,但“打开 XML 编辑器”只是关闭了 Visual Studio 中的 .dgml 文件。
  • 更改 Visual Studio 的数据连接(工具 -> 选项 -> 数据库工具 -> 数据连接)不起作用:

在此处输入图片说明

  • 安装 SQL 服务器组件。大多数可以在 Visual Studio 安装程序中找到的 SQL Server 组件已经安装:

在此处输入图片说明

  • Visual Studio 是最新的: 在此处输入图片说明

  • 我见过这个问题。不仅是 VS2012 的问题,解决方案也适用于 web.config。我的应用程序是桌面应用程序,所以没有 web.config。但无论如何,项目的 app.config 都不包含对 (LocalDB)\MSSQLLocalDB 的引用。

  • 考虑到这可能与最新版本的 SSDT (15.8.1) 不再支持 SQL Server 2012 有关,我检查了版本。它是 15.1.6: 在此处输入图片说明

Visual Studio 在 Windows 7 Ultimate、SP1、64 位上运行。

编辑

我正在将 SQL Server express 与本地数据库一起使用。

这个问题确实出现可能与连接字符串。按照创建 SSDT 项目(此处)和导入数据库的基本说明(请注意,在第 6 步中我的目标是 SQL Server 2012),问题仍然存在 - 没有连接字符串,也没有实际代码。

我还验证了 SQL Server 2012 是唯一连接的服务器: 在此处输入图片说明

Pip*_*per 14

我在 VS 2019 中遇到了同样的问题。我的解决方案是删除并重新创建数据库MSSQLLocalDB。原因可能是我的帐户没有打开数据库的权限,可能是因为我的管理员使用他的帐户安装了 Visual Studio。

以下是重新创建数据库的步骤:

  1. 找到SQL Server LocalDB 实用程序的位置。对我来说这是"C:\Program Files\Microsoft SQL Server\130\Tools\Binn\SqlLocalDB.exe"
  2. 在该文件夹中打开管理 shell。
  3. SqlLocalDB.exe i显示所有数据库实例。
  4. 删除数据库:SqlLocalDB.exe d MSSQLLocalDB
    如果失败,您可能需要SqlLocalDB.exe stop MSSQLLocalDB -k先尝试。
  5. 重新创建数据库:SqlLocalDB.exe c MSSQLLocalDB

现在我可以使用VS 代码映射,并且可以在VS 的SQL Server 对象资源管理器中打开数据库。

  • 谢谢,这些步骤为我解决了这个问题(VS2022),我只需要在删除数据库之前停止 SQL Server 进程(步骤 4)。 (2认同)