簡體   English   中英

在Java中讀取Socket超時異常的原因是什么?

[英]What are the reasons for getting a Socket read timed out Exception in Java?

在Java中讀取Socket超時異常的原因是什么?

我正在:

    ### Cause: java.sql.SQLRecoverableException: IO Error: Socket read timed out
; SQL []; IO Error: Socket read timed out; nested exception is java.sql.SQLRecoverableException: IO Error: Socket read timed out

庫設置了超時,但是在達到超時之前它沒有讀取任何內容。

如果另一端長時間從停止讀取數據,則可能會發生這種情況。 該庫確定什么時間很長。 我會查找連接到它的服務器上記錄的任何錯誤。

根據您的環境,可能有許多不同的原因:這可能是計算機與數據庫服務器之間的簡單網絡中斷。 但是也可能是擁堵程度較低。 那里坐了一層 占用所有連接線程; 等待另一面移動...不會再移動了。

從這個意義上講,您對特定問題的不明確答案是:識別系統中存在的,需要相互通信才能提供其應提供的功能的不同組件。 當您擁有該“地圖”時; 您將開始根據自己的位置檢查該地圖上的每個位置。

並提示:如果您還沒有這樣的(心理)地圖; 好吧,歡迎來到專業IT領域。 當您負責復雜的系統時; 您只需要了解該系統中的不同組件即可; 以及它們如何相互作用。 那不是stackoverflow可以給您的。 那是必須弄清楚自己的東西。

請參閱http://docs.oracle.com/javase/6/docs/api/java/sql/SQLRecoverableException.html

嘗試檢查

  • 檢查輸入參數

    連接con = DriverManager.getConnection(
    “JDBC:預言:瘦:@localhost:1521:XE”, “用戶名”, “口令”);

    • 檢查數據庫帳戶的到期日期

    • 嘗試重新啟動數據庫

    • 嘗試重試連接

    • 如果仍然失敗,請嘗試另一個數據庫dsn

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM