在Java中,出现Socket read timed out异常的原因是什么?

4

在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
3个回答

3
根据您的环境,可能有许多不同的原因:它可能只是您的机器和数据库服务器之间的简单网络中断。但也可能是低层级拥堵; 一层只是坐在那里; 所有连接线程都被占用; 等待另一侧移动...但另一侧不再移动。
从这个意义上讲,对于您不明确的问题,没有具体的答案:您需要确定系统中存在的不同组件以及它们彼此交互以提供其应该提供的功能的方式。当您拥有该“地图”时,可以按照其自己的方式检查该地图上的每个位置。
提示:如果您还没有这样的(精神)地图,请欢迎来到专业IT世界。当您负责复杂的系统时,您必须理解该系统中的不同组件以及它们的交互方式。这不是stackoverflow可以为您提供的东西; 这是您必须自己找出来的内容。

2
图书馆设置了一个超时时间,但在超时到达之前并没有读取任何内容。这可能是因为另一端长时间停止读取。图书馆确定什么是长时间。我会查找连接的服务器上是否记录了任何错误。

1

请参考 http://docs.oracle.com/javase/6/docs/api/java/sql/SQLRecoverableException.html 了解更多相关信息!

请尝试检查:

  • 连接语句中的输入参数

    Connection con=DriverManager.getConnection(
    "jdbc:oracle:thin:@localhost:1521:xe","username","password");

    • 检查数据库帐户的到期日期

    • 尝试重新启动数据库

    • 尝试重新连接

    • 如果仍然失败,请尝试使用其他数据库dsn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接