Java jdbc中的许多主机连接到teradata
我们使用的jdbc url如下所示: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: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只有一台服务器的示例