Unable to connect to localDB in VS2012 – “建立与 SQL Server 的连接时发生网络相关或特定于实例的错误...”
Posted
技术标签:
【中文标题】Unable to connect to localDB in VS2012 – “建立与 SQL Server 的连接时发生网络相关或特定于实例的错误...”【英文标题】:Unable to connect to localDB in VS2012 – "A network-related or instance-specific error occurred while establishing a connection to SQL Server..." 【发布时间】:2012-09-09 21:41:11 【问题描述】:这很奇怪,因为我可以通过 SSMS 2008R2 使用相同的连接字符串 ("Data Source=(LocalDB)\v11.0;Integrated Security=true
") 连接到 localDB
只有C#
代码无法连接,我尝试使用Connect Timeout=60
增加登录时间,但没有成功。
我还尝试指定数据库 Initial Catalog=<databasename>
,其中
关于为什么不连接的任何指针?
【问题讨论】:
首先通过VS中的服务器资源管理器连接你的数据库。连接成功后右击找到属性。在那里你会得到连接字符串。只需将其复制并粘贴到 web.config 中即可。 @Kundan 我这样做了,但它抛出了同样的错误。服务器资源管理器连接成功,然后我从提到的属性中复制了连接字符串,但我的应用程序仍然无法使用相同的字符串进行连接。 你能粘贴连接字符串吗? 【参考方案1】:有没有可能是因为您忘记了双转义反斜杠?你试过这个吗:
"Data Source=(LocalDB)\\v11.0;Integrated Security=true"
或者更好的是,您可以只使用@
标记来禁用整个连接字符串的字符转义:
@"Data Source=(LocalDB)\v11.0;Integrated Security=true"
【讨论】:
啊,这真是个窍门。为什么它需要双\\?真的很奇怪..谢谢!它奏效了。 看来\v是个特殊字符! 没错!如果没有双重转义,\v
将被视为单个(和特殊)字符。您也可以使用 @
(在 C# 中)来避免转义,我已经更新了我的答案以反映它。
另外,应该注意转义字符会阻止 SSMS 与 LocalDb 建立连接。
@J.AndrewLaughlin 没错!只需使用@
来禁用转义并减少复制粘贴的思考:D以上是关于Unable to connect to localDB in VS2012 – “建立与 SQL Server 的连接时发生网络相关或特定于实例的错误...”的主要内容,如果未能解决你的问题,请参考以下文章
[python] disconnected: unable to connect to renderer解决方法
Unable to connect to CUPS server localhost:631
telnet: Unable to connect to remote host: Connection refused
Unable to connect to MKS:Internal error
spring boot 集成 redis 出现 “Unable to connect to localhost:6379”