[英]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.