繁体   English   中英

通过JDBC连接PostgreSQL数据库时出现连接问题

[英]Connection problem while connecting to PostgreSQL database through JDBC

我有一个 IP 地址192.168.218.18我已经尝试了很多方法连接到该服务器,每次我收到一条消息,因为连接尝试失败。 出于安全原因,我隐藏了用户名和密码。

代码:

public static void main(String[] args) {

String url = "jdbc:postgresql://192.168.218.18:5432/manikanta?user=*****&password=*****&ssl=true";
        try {

            Connection conn = DriverManager.getConnection(url);

            System.out.println("connection established");
        } catch (SQLException e) {
            System.out.println(e.getMessage());
        }
    }
}

我得到的例外

org.postgresql.util.PSQLException:连接尝试失败。 在 org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:292) 在 org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49) 在 org.postgresql.jdbc.PgConnection.(PgConnection.java: 211) 在 org.postgresql.Driver.makeConnection(Driver.java:458) 在 org.postgresql.Driver.connect(Driver.java:260) 在 java.sql.DriverManager.getConnection(Unknown Source) 在 java.sql.DriverManager .getConnection(Unknown Source) at com.inno.demo.ConnectionJDBC.main(ConnectionJDBC.java:17) 由:java.net.SocketTimeoutException:连接超时在 java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) 在 java。 net.DualStackPlainSocketImpl.socketConnect(Unknown Source) at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) at java.net.AbstractPlainSocketImpl.connect(Unknown Source) at java.net。 PlainSocketImpl.connect(Unknown Source) at java.net.SocksSocketImpl.connect(Unk nown Source) at java.net.Socket.connect(Unknown Source) at org.postgresql.core.PGStream.(PGStream.java:75) at org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:91)在 org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:192) ... 7 更多

您应该单独传递用户和密码,而不是作为 URL 的一部分:

public static void main(String[] args) {

    String url = "jdbc:postgresql://192.168.218.18:5432/v";
    String user = "****";
    String password = "*****";

    try (Connection con = DriverManager.getConnection(url, user, password);

        System.out.println("connection established");

    } catch (SQLException e) {

        System.out.println(e.getMessage());
    }
}

请参阅:http: //zetcode.com/java/postgresql/

由于 ping 到 IP 192.168.218.18 (我将其称为target系统)失败,请验证并确认以下之一:

  • 您的系统与target系统连接到同一网络(即专用网络)
  • 如果您有权访问target系统,请尝试从该系统 ping 本地计算机的 IP 并检查从那里 ping 是否成功
  • 确保您/ target系统的防火墙配置为允许相互连接

如果您确认了这些,我相信您至少会对出错的原因和位置有一个基本的了解。 这样您的连接问题就会得到解决。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM