2

我拿了一个别人做的旧软件,它需要连接到扩展名为 .mdf 的数据库。

但是当我运行该软件时,我有一个error 26. 我显然已经检查了谷歌,似乎主要问题是防火墙。但如果我禁用它,问题不会消失。

下面是连接数据库的代码:

DataClasses1DataContext db = new DataClasses1DataContext(Environment.CurrentDirectory + "\\bddgestionvin.mdf");

我注意到,当我尝试将数据库与 datacontext 类连接时,它也会以相同的error 26. (见下面的截图)

这个类使用的字符串连接是:

Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\bddgestionvin.mdf;Integrated Security=True;Connect `Timeout=30;User Instance=True`

我知道我有点含糊,但我从来没有做过那种事情(连接到 .mdf 数据库)而且代码不是我的,请随时询问进一步的解释/代码。欢迎任何帮助!

PS错误信息是

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

在此处输入图像描述

(对不起法语软件)

4

1 回答 1

1

嗨,我不知道您可能会看到这些步骤。确保这些步骤应该通过。

我们收到此错误消息的原因是客户端堆栈无法从 SQL 浏览器接收 SSRP 响应 UDP 数据包。很容易隔离问题。以下是步骤:

1) 确保您的服务器名称是正确的,例如,名称上没有错字。

2)确保您的实例名称正确,并且您的目标机器上确实有这样的实例。[更新:某些应用程序将 \ 转换为 . 如果您不确定您的应用程序,请在连接字符串中同时尝试 Server\Instance 和 Server\Instance]

3) 确保服务器机器可访问,例如,DNS 可以正确解析,您可以 ping 服务器(并非总是如此)。

4) 确保 SQL Browser 服务正在服务器上运行。

5) 如果服务器启用了防火墙,则需要将 sqlbrowser.exe 和/或 UDP 端口 1434 置于异常中。

你可以从这里阅读更多

您还可以尝试PortQry并验证您的防火墙不会阻止 SQL 浏览器 UDP 数据包

建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。 Failed to establish a connection with SQL Server.

服务器未找到或无法访问。 May be server is stopped, you don't have permission to access the server, or the instance name is not correct .

验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。

Please goto SSMS and try connecting the server. Verify the SQL Server is running and your account is configured to access the service.

(提供者:SQL 网络接口,错误:26 - 错误定位服务器/指定的实例)

谢谢

于 2012-10-22T17:43:46.317 回答