错误定位 Server/Instance 使用 SQLNCLI10.1 指定
Error Locating Server/Instance Specified using SQLNCLI10.1
以下情况,这些 PC 之间有防火墙:
客户端电脑
- IP 10.10.140.100
- 子网 255.255.0.0
- 网关:10.10.0.254
服务器电脑
- IP 10.40.140.100
- 子网 255.255.0.0
- 网关:10.140.255.254
通信本身已经在工作(ping,使用 WebClient)所以不要太担心。
我在使用应用程序(数据库)中的以下连接字符串连接到从客户端 PC 到服务器 PC(SQL Server 2008 R2)的命名实例(在本例中为 "WINCC")时遇到连接问题名称正确,已检查!):
strserver = "10.40.140.100"
strConnectionString = "Provider=SQLNCLI10.1;Integrated Security=SSPI; Persist Security Info=False;Initial Catalog=" & Database & ";Data Source=" & strServer & "\WINCC"
情况:
- Microsoft SQL Server 2008 Native Client 安装在客户端 PC 上
- 客户端 PC 上使用的 windows 用户存在于服务器 PC 上,并且是必要用户组的一部分(在本例中是 SIMATIC HMI 组,因为 WinCC)
- 我查看了sql服务器使用的动态端口是49181,该端口在网络的防火墙中打开
- 到目前为止,这在所有其他网络环境中都有效,但某些东西仍然以某种方式阻止了网络中的访问
脚本因以下错误而崩溃:
"SQL Server Network Interfaces: Error locating Server/Instance Specified [xFFFFFFFF]" 尝试建立与数据库的连接时(.Open 命令)。
我 99% 确定它必须对未打开的端口执行某些操作。好几次看到Sql浏览器服务的UDP Port 1434要开放.这在使用 SQL Native Client Provider 时是否也相关?或者我应该尝试在连接字符串中专门命名端口吗? (比如“10.40.140.100,49181/WINCC”?)
不胜感激,谢谢!
此致,
CM保罗
使用动态端口通常会导致问题。如果您有一个应用程序服务器连接到网络内的 SQL 服务器,我建议在 SQL 服务器上使用静态 IP,然后按照定义将其路由通过防火墙。另外正如您所说,我会在您的连接字符串中定义 TCP/IP 端口。
这将在 SQL 服务器网络配置下的 SQL 服务器配置管理器中设置。 Select 的协议。右键单击 TCP/IP 和 select IP 地址选项卡。确保所有 TCP 动态端口都设置为 0。在 IPALL 下,将 TCP 端口设置为静态 IP 地址。完成后,您将需要重新启动 SQL 服务器服务。
以下情况,这些 PC 之间有防火墙:
客户端电脑
- IP 10.10.140.100
- 子网 255.255.0.0
- 网关:10.10.0.254
服务器电脑
- IP 10.40.140.100
- 子网 255.255.0.0
- 网关:10.140.255.254
通信本身已经在工作(ping,使用 WebClient)所以不要太担心。 我在使用应用程序(数据库)中的以下连接字符串连接到从客户端 PC 到服务器 PC(SQL Server 2008 R2)的命名实例(在本例中为 "WINCC")时遇到连接问题名称正确,已检查!):
strserver = "10.40.140.100"
strConnectionString = "Provider=SQLNCLI10.1;Integrated Security=SSPI; Persist Security Info=False;Initial Catalog=" & Database & ";Data Source=" & strServer & "\WINCC"
情况:
- Microsoft SQL Server 2008 Native Client 安装在客户端 PC 上
- 客户端 PC 上使用的 windows 用户存在于服务器 PC 上,并且是必要用户组的一部分(在本例中是 SIMATIC HMI 组,因为 WinCC)
- 我查看了sql服务器使用的动态端口是49181,该端口在网络的防火墙中打开
- 到目前为止,这在所有其他网络环境中都有效,但某些东西仍然以某种方式阻止了网络中的访问
脚本因以下错误而崩溃: "SQL Server Network Interfaces: Error locating Server/Instance Specified [xFFFFFFFF]" 尝试建立与数据库的连接时(.Open 命令)。 我 99% 确定它必须对未打开的端口执行某些操作。好几次看到Sql浏览器服务的UDP Port 1434要开放.这在使用 SQL Native Client Provider 时是否也相关?或者我应该尝试在连接字符串中专门命名端口吗? (比如“10.40.140.100,49181/WINCC”?)
不胜感激,谢谢! 此致, CM保罗
使用动态端口通常会导致问题。如果您有一个应用程序服务器连接到网络内的 SQL 服务器,我建议在 SQL 服务器上使用静态 IP,然后按照定义将其路由通过防火墙。另外正如您所说,我会在您的连接字符串中定义 TCP/IP 端口。
这将在 SQL 服务器网络配置下的 SQL 服务器配置管理器中设置。 Select 的协议。右键单击 TCP/IP 和 select IP 地址选项卡。确保所有 TCP 动态端口都设置为 0。在 IPALL 下,将 TCP 端口设置为静态 IP 地址。完成后,您将需要重新启动 SQL 服务器服务。