【问题标题】:How to connect to other system db using jdbc type 4 driver如何使用 jdbc type 4 驱动程序连接到其他系统数据库
【发布时间】:2013-04-26 05:50:47
【问题描述】:

我有一个连接到本地系统 postgresql DB 的 JDBC 程序。

Class.forName("org.postgresql.Driver");
Connection con=DriverManager.getConnection("jdbc:postgresql://localhost:5432/LOCATIONS_INFO","postgres","password");
System.out.println("Connection Created");

这会成功执行。我还想连接到同一 LAN 中另一个系统上的 postgresql 数据库。当我将 localhost 替换为我要连接的其他系统的 IP 时,出现异常。

请帮助我如何实现连接。

【问题讨论】:

  • 至少发布异常+堆栈跟踪

标签: java postgresql jdbc


【解决方案1】:

我认为您的配置或网络可能有问题。首先检查另一个系统上的 PostgreSQL 是否正在侦听所有网络接口上的端口 5432。可以通过netstat查看(当然必须在数据库服务器的控制台上运行):

[mn@dbtest ~]# netstat -lnp | grep 5432
tcp   0  0 0.0.0.0:5432   0.0.0.0:*   LISTEN   8484/postmaster

(如果 PostgreSQL 在 Windows 上工作,我建议使用 TCPView 实用程序)

0.0.0.0:5432 显示 PostgreSQL 正在侦听所有网络接口的端口 5432。

现在您应该检查 PostgreSQL 配置是否允许来自您的 IP 的连接。 PostgreSQL 使用pg_hba.conf 文件来允许/拒绝来自不同地址的连接。例如在我的网络条目中:

host  all all 169.0.1.0/24   trust 

允许所有169.0.1.* 机器与PostgreSQL 连接。

如果此类配置允许您连接,请检查您的计算机和数据库服务器上的防火墙。

【讨论】:

    猜你喜欢
    • 2021-02-09
    • 1970-01-01
    • 2021-01-29
    • 1970-01-01
    • 2016-12-22
    • 1970-01-01
    • 2018-02-19
    • 1970-01-01
    • 2013-02-19
    相关资源
    最近更新 更多