Java jdbc中的许多主机连接到teradata

Java jdbc中的许多主机连接到teradata,java,jdbc,teradata,Java,Jdbc,Teradata,我们使用的jdbc url如下所示: jdbc:teradata://10.77.59.100/DATABASE=MY_DB, CHARSET=UTF8 现在我遇到了jdbc连接的问题,因为我们的teradata数据库是在集群模式下工作的。 我试着写: jdbc:teradata://10.77.59.100,10.77.59.101/DATABASE=MY_DB, CHARSET=UTF8 但它不起作用 可以在JDBCURL中设置第二台teradata服务器吗?它在MySQL

我们使用的jdbc url如下所示:

jdbc:teradata://10.77.59.100/DATABASE=MY_DB, CHARSET=UTF8   
现在我遇到了jdbc连接的问题,因为我们的teradata数据库是在集群模式下工作的。 我试着写:

jdbc:teradata://10.77.59.100,10.77.59.101/DATABASE=MY_DB, CHARSET=UTF8    
但它不起作用

可以在JDBCURL中设置第二台teradata服务器吗?它在MySQL中是如何工作的?例如:

jdbc:mysql://192.168.29.20:3306,192.168.29.20:6306/mysql

谢谢

通常,当Teradata环境配置有多个节点时,IP地址会映射到DNS中的多个COP条目。然后,您可以为JDBC连接提供不带COP后缀的主机名,它将随机选择一个COP条目来尝试连接。如果第一个COP条目未成功,它将尝试另一个条目

jdbc:teradata://DatabaseServerName/database=MY_DB,CHARSET=UTF8

然后,COP发现将尝试
DatabaseServerNameCOP1
然后
DatabaseServerNameCOP2
,直到耗尽可用的COP条目或超时


COP发现功能可以作为连接字符串中的参数禁用:
COP=OFF
。然后JDBC将只尝试使用指定的主机名。

我发布了这个问题的最终解决方案。 我将映射到多个COP条目的IP地址添加到主机文件中

10.77.51.100 intd1 intd1cop1 intdcop1
10.77.51.101 intd2 intd2cop1 intdcop2    
10.77.51.102 intd3 intd3cop1 intdcop3    
10.77.51.103 intd4 intd4cop1 intdcop4    
然后设置JDBC连接字符串。不带COP后缀的Teradata主机名

jdbc:teradata://intd/database=MY_DB,CHARSET=UTF8    

现在,如果其中一个节点不可用,我们将自动切换到随机选择的另一个节点。

我对teradata一无所知,但
10.77.59.100,10.77.59.100
看起来您正在通过默认端口指定同一台服务器。对我来说,服务器似乎没有机会告诉我它应该作为两个实例工作。JDBCURL是特定于数据库的。它应该在某个地方的文件。谢谢你,我修复相同的ip的问题。他们是不同的。teradata文档只提供了一个JDBCURL只有一台服务器的示例