1

我一直在做一个需要我们连接到我们的 PostgreSQL 数据库的项目。我可以使用本地 IP(即 192.168.1.145)在本地将我的代码连接到 PostgreSQL 数据库,因为我用公共 IP 替换了本地 IP,这会引发错误:

这是我用来连接数据库的代码

private static final String DRIVER = "org.postgresql.Driver";
//private static final String URL = "jdbc:postgresql://192.168.1.145:5432/ResumeDatabase";
private static final String URL = "jdbc:postgresql://71.555.555.555:5432/ResumeDatabase";
private static final String USERNAME = "defaultuser";
private static final String PASSWORD = "password";

private static Connection getConnection() throws Exception {
    Class.forName(DRIVER);
    Connection conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
    return conn;
  }

以下是我得到的错误:

  Adding a resume
    org.postgresql.util.PSQLException: Connection refused. Check that the hostname and port    are correct and that the postmaster is accepting TCP/IP connections.
    ID ----------- 0
    Added Resume
    at
    org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:136)
        at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:66)
    at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:125)
    at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:30)
    at org.postgresql.jdbc3.Jdbc3Connection.<init>(Jdbc3Connection.java:24)
    at org.postgresql.Driver.makeConnection(Driver.java:393)
    at org.postgresql.Driver.connect(Driver.java:267)
    at java.sql.DriverManager.getConnection(DriverManager.java:582)
    at java.sql.DriverManager.getConnection(DriverManager.java:185)
    at com.ssati.resumeformatter.data.dao.ResumeDAO.getConnection(ResumeDAO.java:247)
    at com.ssati.resumeformatter.data.dao.ResumeDAO.addResume(ResumeDAO.java:105)
    at com.ssati.resumeformatter.data.dao.ResumeDAO.main(ResumeDAO.java:318)
Caused by: java.net.ConnectException: Operation timed out
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:432)
    at java.net.Socket.connect(Socket.java:529)
    at java.net.Socket.connect(Socket.java:478)
    at java.net.Socket.<init>(Socket.java:375)
    at java.net.Socket.<init>(Socket.java:189)
        at org.postgresql.core.PGStream.<init>(PGStream.java:62)
    at     org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:76)
    ... 11 more

谢谢!

4

0 回答 0