我在生产环境中有一个奇怪的错误,但不是在开发环境中。 在我的开发环境中,使用Visual Studio 2010,我可以毫无问题地连接到Sql Server 2012。 当我将Windows窗体应用程序复制到同一网络中的其他PC时,我收到“错误26:找到指定的服务器/实例时出错”。
使用Sql Server 2008的旧数据库实例,同样的应用程序运行良好。 我不知道该检查什么以及从哪里开始!
编辑:另一个奇怪的行为是,如果我使用像这样的代码
它会很好conn.Open()
dr = cmd.ExecuteReader()
但如果我打开一个带有datagridview,数据集和BindingSource的表单,请停止工作!
答案 0 :(得分:6)
this博文有关于错误26的详细信息。
来自帖子:
总之,我们收到此错误消息的原因是客户端 stack无法从SQL Browser接收SSRP响应UDP数据包。 很容易孤立这个问题。以下是步骤:
- 确保您的服务器名称正确无误,例如名称上没有拼写错误。
- 确保您的实例名称正确,并且目标计算机上确实存在此类实例。 [更新:某些应用程序将\转换为\。如果您不确定您的应用程序,请在连接字符串中尝试Server \ Instance和Server \\ Instance]
- 确保服务器计算机可以访问,例如,DNS可以正确解析,您可以ping服务器(并非总是如此)。
- 确保SQL Browser服务正在服务器上运行。
- 如果服务器上启用了防火墙,则需要将sqlbrowser.exe和/或UDP端口1434置于异常状态。
醇>完成这些步骤后,您不应该看到此错误消息 了。您可能仍然无法连接SQL服务器,但错误 消息应该是不同的,你现在有一个不同的问题。 [更新:如果仍然失败,您可以用。替换server \ instance tcp:server \ instance和/或np:server \ instance,看看是否成功 使用TCP或NP协议。这样,您可以隔离问题a 一点。 ]