2013-04-26 18 views
-1

我有一個連接到我的本地系統postgresql數據庫的JDBC程序。如何使用jdbc類型4驅動程序連接到其他系統數據庫

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

這成功執行。我也想連接到同一局域網中另一個系統上的postgresql數據庫。當我用另一個想連接的系統的IP替換本地主機時,我得到一個異常。

請幫助我如何實現連接。

+1

至少發佈異常+堆棧跟蹤 – 2013-04-26 07:24:13

回答

1

我認爲這可能是您的配置或網絡的問題。首先檢查另一個系統上的PostgreSQL是否在所有網絡接口上的端口5432上偵聽。你可以用netstat檢查它(當然,你必須在數據庫服務器的控制檯運行):

[[email protected] ~]# netstat -lnp | grep 5432 
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 8484/postmaster 

(如PostgreSQL的適用於Windows,我建議使用​​效用)

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連接。

如果此類配置允許您連接,請檢查您的計算機和數據庫服務器上的防火牆。

相關問題