Visual Studio尝试在加载解决方案时连接SQL数据库。给出错误:无法打开登录请求的数据库

彩铃

我有一个Visual Studio解决方案,在该解决方案上我一直在处理与实体框架编码相关的C#项目。

我正在创建一些测试数据库,以便首先连接并学习数据库和代码优先方法。现在,问题出在我每次尝试打开包含那些项目的解决方案时,由于某种奇怪的原因,Visual Studio或解决方案或其中的某个项目试图连接到那些数据库。由于删除了这些数据库,因此出现错误:

无法打开登录请求的数据库“公司”。登录失败。用户“管理员”登录失败。

这是错误消息快照:

在此处输入图片说明

我几个数据库一个接一个地收到此错误。但是我想知道为什么VS仅在加载解决方案时尝试连接到某些数据库?如果有人遇到这种情况或知道其背后的原因,那真是太好了。

注意:我提出的问题中的标签仅是由于我正在使用的环境而引起的。我正在设法弄清楚我的问题是否特别与那些领域有关。

彩铃

TL; DR; 在Visual Studio的“服务器资源管理器”窗口中删除标记有红叉的无效/无效的SQL Server连接,以解决此问题。每当您从SQL Server删除相应的数据库时,SQL Server连接就会变为无效/陈旧,但Visual Studio对此一无所知,并且会继续尝试不必要的操作。

详细信息:正如@stuartd正确建议的那样,Visual Studio中的服务器资源管理器混乱了。发布答案以防其他人也有帮助。

我意识到,每次将实体框架的ADO.NET实体数据模型文件添加到我的项目中时,如下所示,它每次在Server Explorer窗口中添加一个SQL连接节点,如下所示。

在此处输入图片说明

The connection was corresponding to the DB I chose in the ADO.NET entity data model addition wizard. I see that there is red cross against few of them since I've deleted the databases from SQL Server instance. Whenever you load a solution Visual Studio will always try to refresh the connection of all the databases currently found in Server Explorer. In fact in the case of DBs which have a red mark against them (as they are deleted) I'm sure VS must be employing the retry logic as well while trying to make a connection with the database. All this takes and wastes time as far as the loading time of a solution is concerned.

在此处输入图片说明

如何解决错误:我删除了标有红叉的无效/未使用连接,以消除此问题。如果有人知道一种将连接标记为非活动的方法(例如,连接位于服务器资源管理器中),那将是很好的选择,但是在我要求刷新之前,VS不应尝试每次都进行连接,否则在我扩展其节点时它可能会刷新。

我还观察到Visual Studio以某种方式在每个解决方案文件的基础上维护了这些服务器资源管理器的连接,可能在*.suo文件中。打开加载到Visual Studio中时遇到与DB连接问题有关的错误的每个解决方案后,我必须删除那些过时的连接。面对这个问题的所有解决方案至少都有一个与实体框架有关的项目:)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Visual Studio 2013:数据库项目MSBuild错误

Visual Studio无法发布或架构比较数据库

Visual Studio SQL数据库,执行批处理时发生错误(Msg 1785)

连接到远程SQL Server数据库Visual Studio 2017时出错

无法从Visual Studio连接到Azure SQL数据库

无法将MySQL数据库连接到Visual Studio?

无法使用Visual Studio 2019与MySQL数据库连接

在Visual Studio 2017的asp.net中的数据库中插入值时出错

如何在Visual Studio中设置SQL数据库项目中的数据库连接字符串?

尝试在Visual Studio中测试从SQLite数据库加载数据后出现“ System.NullReferenceException”

使用AT TIME ZONE时无法建立针对Azure SQL数据库的Visual Studio数据库项目

如何在Visual Studio中连接Oracle数据库

连接到SQL数据库时出现pyodbc错误“无法打开登录请求的数据库“ database3”。

在Visual Studio connectionString内连接到SQL Server数据库的错误

Visual Studio网页代码中的错误(尝试将网站连接到数据库)

连接到SQL数据库时出错:无法打开登录请求的数据库“ Students.mdf”。登录失败

无法打开Visual Studio解决方案

从Visual Studio COBOL连接到MySQL数据库

从 Visual Studio 2015 连接 oracle 数据库

加载实体框架数据库连接后,Visual Studio 正在锁定

无法将 Visual Studio 连接到 SQL Server 数据库

在 Visual Studio 2017 中,当我尝试删除 SQL 表时在 SSOX 中为什么会出现“由于打开的对象定义窗口而无法删除数据库对象”。

无法在 Visual Studio 2017 中创建数据库

Visual Studio - 无法导入此数据库

在 TFS 中的 Visual Studio 解决方案中跟踪 SQL 数据库表

连接mongoose数据库Visual Studio代码

当我尝试将数据库数据源添加到 Visual Studio 时如何解决此错误“表 mysql.proc 不存在”

Visual Studio 解决方案中嵌入式数据库的 SQL 连接字符串

无法在 Visual Studio 中打开 Azure 数据库