我正在尝试将Java应用程序连接到Redshift数据库。当我运行DriverManager.getConnection()时,它会长时间(分钟)并最终抛出异常:
Exception in thread "main" java.sql.SQLException:
[Amazon](600001) The server closed the connection.
at com.amazon.support.channels.TLSSocketChannel.readBytes(Unknown Source)
at com.amazon.support.channels.TLSSocketChannel.doHandshake(Unknown Source)
at com.amazon.support.channels.TLSSocketChannel.<init>(Unknown Source)
at com.amazon.redshift.client.PGClient.checkSSL(Unknown Source)
at com.amazon.redshift.client.PGClient.<init>(Unknown Source)
at com.amazon.redshift.core.PGJDBCConnection.connect(Unknown Source)
at com.amazon.jdbc.common.BaseConnectionFactory.doConnect(Unknown Source)
at com.amazon.jdbc.common.AbstractDriver.connect(Unknown Source)
at com.amazon.redshift.jdbc.Driver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
我可以在同一台计算机上使用SQL Workbench中的相同连接字符串和凭据进行连接。此外,如果我向连接提供错误的凭据,则会出现身份验证错误。因此,我不相信这是亚马逊的安全问题,这似乎是无法连接的最常见原因。
其他想法?
更新:神秘感加深了。团队的其他成员可以检查代码并成功运行它。我们在团队的共享maven存储库中有驱动程序。
答案 0 :(得分:0)
嗯......不确定问题是什么。但我做了一次Eclipse更新,它就消失了。