【问题标题】:Google Search Appliance: com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host "xyz" port 1433 has failed.Google Search Appliance:com.microsoft.sqlserver.jdbc.SQLServerException:与主机“xyz”端口 1433 的 TCP/IP 连接失败。
【发布时间】:2017-03-21 06:10:16
【问题描述】:

我正在为数据库 (SQL) 部署 Google Search Appliance 连接器。当我运行“run.bat”时,我的日志中出现错误:

 java.io.IOException: com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host "xyz", port 1433 has failed. Error: "null. Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall.".
    at com.google.enterprise.adaptor.database.DatabaseAdaptor.getDocIds(DatabaseAdaptor.java:235)
    at com.google.enterprise.adaptor.DocIdSender.pushFullDocIdsFromAdaptor(DocIdSender.java:69)
    at com.google.enterprise.adaptor.GsaCommunicationHandler$PushRunnable.run(GsaCommunicationHandler.java:856)
    at com.google.enterprise.adaptor.OneAtATimeRunnable.run(OneAtATimeRunnable.java:69)
    at com.google.enterprise.adaptor.ShutdownWaiter$NotificationRunnable.run(ShutdownWaiter.java:183)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

我尝试了以下解决方案:

  1. 删除所有 TCP 动态端口并将值 1433 添加到所有 TCP 端口并重新启动 SQL Server。 我的 SQL Server 配置如下所示:

  1. 检查关键 TcpDynamicPorts 的值。

我没有设置动态端口。

有没有其他方法可以解决这个错误。任何帮助,将不胜感激。

【问题讨论】:

  • 检查你的防火墙
  • 是的,完全关闭您的 Windows 防火墙进行测试。
  • 关闭防火墙会完全解决这个问题吗?我正在做一个项目,我没有权限这样做。我会问我的客户@TerryChambers-Onix

标签: sql-server jdbc tcp connector google-search-appliance


【解决方案1】:

确保所有 TCP 动态端口都设置为 0,并且除了 IPALL 之外,所有 TCP 端口都是空白的,您当前的设置是正确的。

这看起来像是您的应用程序服务器和 SQL Server 之间的通信问题。我建议使用 TELNET 在 CMD 窗口中使用 SQL 服务器的 IP 地址或域名检查端口。

TELNET pc.name.com 1433

TELNET 172.0.0.1 1433

如果您在此之后出现空白屏幕,则表示您成功并且端口已打开。如果不是,则有防火墙或网络设置阻止了连接。

【讨论】:

  • 我使用了命令“TELNET IP_ADDRESS 1433”,我得到一个空白屏幕,这意味着端口是打开的。但是,我的日志中仍然出现相同的错误:验证连接属性。确保 SQL Server 实例正在主机上运行并在端口接受 TCP/IP 连接。我没有关闭我的 SQL Server 上的防火墙连接。
  • 太棒了!这告诉我们端口是开放的。我现在建议查看安全方面。检查并查看正在尝试连接到 SQL 实例的帐户。如果是 SQL 帐户或 Windows 帐户。检查您要连接的数据库并确保它有权访问它。
  • 我的防火墙连接现在已关闭。在传入连接部分中,它显示“阻止与不在允许程序列表中的程序的所有连接”。我应该在 TCP/IP 属性中添加我的应用程序服务器的 IP 地址并启用它吗?
  • 如果您可以在网络或服务器上添加可信连接,那么可以。
  • Windows防火墙下有一节:允许程序通过Windows防火墙进行通信。 (dummies.com/computers/operating-systems/windows-7/…)。我应该选择哪个程序?
猜你喜欢
  • 2013-09-29
  • 1970-01-01
  • 2016-04-14
  • 2013-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-12
  • 1970-01-01
相关资源
最近更新 更多