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

标签 java postgresql 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: The connection attempt failed. at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:292) at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49) at org.postgresql.jdbc.PgConnection.(PgConnection.java:211) at org.postgresql.Driver.makeConnection(Driver.java:458) at org.postgresql.Driver.connect(Driver.java:260) at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at com.inno.demo.ConnectionJDBC.main(ConnectionJDBC.java:17) Caused by: java.net.SocketTimeoutException: connect timed out at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) at 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(Unknown 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) at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:192) ... 7 more

最佳答案

您应该单独传递用户名和密码,而不是作为 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/

关于java - 通过 JDBC 连接 PostgreSQL 数据库时出现连接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59369390/

相关文章:

java - 使用 JodaTime 快速判断当前时间是否在午夜 6 小时之内

postgresql - 如何计算文本的真实SHA1?

postgresql - 按周累计 - postgresql

java - 创建一个表并将数据插入数据库不能正常使用 mysql 和 java jdbc

java - 重新引入 "Unknown initial character set index"错误?

java - Derby - 使用相同的连接创建PreparedStatement时,获取RETURN_GENERATED_KEYS似乎不是线程安全的

Java:合并排序是 O(N^2) 还是 O(N Log(N))

java - 在 android 的 GridView 布局中使用图像适配器时出现类转换错误

java - 如何从 MySQL 获取所需格式的 JSON

postgresql - Logstash中的两个输出。一个仅用于某些聚合