这个错误表明JDBC(Java Database Connectivity)驱动程序正在使用不正确的协议序列与Amazon Redshift数据库进行通信。 为了解决此问题,请在JDBC连接字符串中添加下面一行:
tcpKeepAlive=true
这将确保与Amazon Redshift数据库的连接保持活动状态,从而避免PortalSuspended状态。以下是一个Java代码示例,说明如何在JDBC连接字符串中设置tcpKeepAlive:
String url = "jdbc:redshift://mycluster.abc123xyz789.us-west-2.redshift.amazonaws.com:5439/mydatabase?tcpKeepAlive=true"; Connection conn = DriverManager.getConnection(url, user, password);
请注意,您需要将“mycluster.abc123xyz789.us-west-2.redshift.amazonaws.com”替换为您的Amazon Redshift群集的端点,并将“mydatabase”替换为您要连接的数据库名称。