6

我正在使用 vb.net framework 4 开发工具,我需要通过 IP 地址连接到公司服务器,这样员工就可以在家中使用这些应用程序。

我尝试了多种类型的连接字符串,但仍然出现此错误:

插入数据库时​​出错 建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:TCP 提供者,错误:0 - 由于目标机器主动拒绝,无法建立连接。)

我的连接字符串:

Data Source=xxx.xx.xxx.xxx\serverName\SQL2012,1433;Network Library=DBMSSOCN;
Initial Catalog=xxxxx;User ID=xxxxxx;Password=xxxxxxx;
4

2 回答 2

11

这里还有一些你可以尝试的东西。

检查 sql server 是否配置为侦听该 IP 地址。如果您的服务器有多个 IP 地址,这并不一定意味着它可以自动接受来自所有 IP 的连接。

要进行设置,请转到 SQL Server 配置管理器 -> SQL Server 网络配置 -> {instancename} 的协议 -> TCP/IP -> IP 地址选项卡

这里还有一些信息可以指导您设置防火墙。您想要对防火墙执行的操作是在端口 1433 上为传入和传出流量启用 TCP 和 UDP 流量。

http://www.howtogeek.com/112564/how-to-create-advanced-firewall-rules-in-the-windows-firewall/

现在,如果您有物理防火墙或 Windows 默认以外的其他软件防火墙,则必须联系您的网络管理员

于 2013-07-19T10:10:51.920 回答
5

正确的想法,你只是过度阐述了。

如果 SQL Server 是该计算机上的默认实例,您可以将其指定为:

Data Source=xxx.xxx.xxx.xxx

如果是命名实例,请将其指定为

Data Source=xxx.xxx.xxx.xxx\INSTANCENAME

对于 SQL Express 实例,通常是:

Data Source=xxx.xxx.xxx.xxx\SQLEXPRESS

如果有多个实例在同一台服务器上运行,您可能需要让 SQL Browser 服务保持运行(默认情况下通常禁用它)。

http://www.connectionstrings.com上有一个很棒的网络资源。它们提供了连接到几乎任何类型的服务器数据库的语法和选项。

此外,当解决 SQL 连接问题时,关闭服务器计算机上的防火墙总是有帮助的,直到一切都解决了,然后重新启用它并在之后解决防火墙问题。当您尝试同时解决多个潜在问题时,只会让生活变得更加困难。

于 2013-07-19T04:55:49.667 回答