C# SQL Server与本地数据库的连接突然失败。代码中没有任何更改

C# SQL Server与本地数据库的连接突然失败。代码中没有任何更改,c#,sql-server,C#,Sql Server,我一直在使用本地计算机上的SQL Server Express数据库和C#中的几个应用程序。他们中的一个总是毫无问题地工作。我在另一个应用程序的同一位置使用了相同的数据库连接字符串,但每次运行应用程序时,当它第一次尝试处理SQL连接时,我都会收到一个错误。我停止调试并重新启动它,它总是在第二次连接时没有问题。这种方法已经用了几个月了。今晚它完全停止工作了。现在每次我运行程序,它都不会连接。一切都没有改变。我没有接触连接字符串或与之相关的任何代码。这毫无意义!我去了一个旧的程序,它使用相同的连接,

我一直在使用本地计算机上的SQL Server Express数据库和C#中的几个应用程序。他们中的一个总是毫无问题地工作。我在另一个应用程序的同一位置使用了相同的数据库连接字符串,但每次运行应用程序时,当它第一次尝试处理SQL连接时,我都会收到一个错误。我停止调试并重新启动它,它总是在第二次连接时没有问题。这种方法已经用了几个月了。今晚它完全停止工作了。现在每次我运行程序,它都不会连接。一切都没有改变。我没有接触连接字符串或与之相关的任何代码。这毫无意义!我去了一个旧的程序,它使用相同的连接,一个每次都能工作的程序,它不会连接,我得到了相同的错误

有关守则如下:

conString="Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\"Path
name"\\Employees.mdf;Integrated Security=True;User Instance=True"; 

SqlConnection sqlConn = new SqlConnection(conString);
sqlConn.Open();
当它试图打开此连接时,我收到错误消息。错误消息是:

建立与SQL Server的连接时发生与网络相关或特定于实例的错误。找不到服务器或无法访问服务器。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。(提供程序:SQL网络接口,错误:26-定位指定的服务器/实例时出错)


如果您100%确定您的连接字符串是正确的,那么这不是C#问题,也不是任何形式的代码问题。NET framework中的SQL驱动程序使用SQL浏览器服务解析某些连接字符串,因此很可能该服务未运行

据我所知,如果指定基于TCP的连接字符串(具有DNS可解析的主机名或IP地址以及端口号),则不需要SQL浏览器。但是,如果指定的数据源值为[hostname]/[instance name](例如..\SQLEXPRESS),则将调用浏览器服务

.NET SQL驱动程序通过UDP(端口1434)向SQL浏览器服务发送请求,试图解析请求的实例名称。浏览器服务响应计算机上所有SQL实例的枚举。当然,如果浏览器服务未运行,您将收到“错误26”


希望这能解释发生了什么

检查SQL浏览器服务是否正在运行。您也不应该需要
AttachDbFilename
参数-只需将数据库保持为附加状态即可。你在最后一天左右改变了你的Windows登录吗?如果我用“数据库”替换“AttachDbFilename”,它就不起作用了。什么参数应该取代“AttachDbFilename”??你看到的可能有几个原因,任何进一步的评论都只是猜测,而没有看到你所得到的。谢谢你的回答。现在回想起来,这是可能的,甚至可能是SQL浏览器服务已经停止。第二天我起床时,一切都好了。但是…它第一次仍然无法连接,当它尝试打开Sqlconnection时,我收到以下超时错误:“超时已过期。操作完成前超时时间已过,或者服务器没有响应。”我停止调试,然后再次运行,它始终从该点开始连接。我关闭了VisualStudio并再次打开它,打开项目并运行它,它再次超时