由于超时或客户端请求,JDBC语句被取消

时间:2016-10-20 10:10:58

标签: mysql sql jdbc

com.mysql.jdbc.exceptions.MySQLTimeoutException: Statement cancelled due to time out or client request
        com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1442)

一些代码:

@Override
public synchronized ResultSet query(String s) throws SQLException {     
    try {
        Statement statement = connection.createStatement();

        statement.setQueryTimeout(3);

所以我在SQL上保存用户数据,这有时会发生,这种情况非常罕见,但仍然如此。我想知道为什么会发生这种情况。

1 个答案:

答案 0 :(得分:0)

您的客户端打开与您的服务或数据库的连接。

默认情况下,apache服务器或Php中有一个超时设置,有时大约30秒,取决于你使用的是什么。也许是mysql本身。

因此,如果您的请求超过30秒,则连接将停止,您将得到此答案。

希望这能帮到你;)

有关详细信息,请告诉我们您的配置:客户端,服务器类型,apache与否,服务......