2016-08-22 281 views
0

當我使用從java到oracle的精簡連接時,IntelliJ IDEA中出現錯誤。在intellij中遇到錯誤「java.sql.SQLRecoverableException:IO錯誤:套接字讀取超時」

我的Oracle數據庫在一臺服務器,我可以ping服務器,但我的代碼無法建立連接:

 Class.forName("oracle.jdbc.driver.OracleDriver"); 
     connection = DriverManager.getConnection("jdbc:oracle:thin:@server ip:1521:orcl","user","path"); 
     System.out.println("Oracle Registered..."); 

和錯誤是:

java.sql.SQLRecoverableException: IO Error: Socket read timed out 
oracle.net.ns.NetException: Socket read timed out 
+0

IntelliJ與此無關。它只是一個IDE。我假設你在URL中有一些明智的選擇來代替「服務器IP」。這需要您的客戶端可以看到的URL或XXX.XXX.XXX.XXX IP地址。 – duffymo

+0

@duffymo你是對的。我刪除了標籤 –

+0

服務器的防火牆配置是否正確?快速谷歌搜索提供此頁面作爲Oracle產品的端口列表。 https://docs.oracle.com/cd/B19306_01/install.102/b15660/app_port.htm –

回答

1

這可能是網絡可達,但操作需要太多時間。

檢查您是否可以使用像蟾蜍,SQL服務器或松鼠這樣的標準數據庫客戶端建立連接。

如果你可以在java中使用相同的參數,它應該工作。

如果您無法檢查另一個進程是否正在使用服務器上的端口1521。

+0

我已檢查並且端口是免費的。我可以建立標準連接嗎? –