sql >> データベース >  >> RDS >> Mysql

明示的に設定されていても、PreparedStatementがタイムアウトすることはありません

    Connection.setNetworkTimeout()を呼び出します 試してみてください-ついに

    private final static Executor immediateExecutor = Runnable::run;
    
    try ( Connection connection = pool.getConnection() ) {
       int timeout = connection.getNetworkTimeout();
       connection.setNetworkTimeout(immediateExecutor, TimeUnit.SECONDS.toMillis(5));
       ...
       try (PreparedStatement...) {
          ...
       }
       finally {
          connection.setNetworkTimeout(timeout);
       }
    }
    finally {
       ...
    }
    

    未確認のTCPトラフィックに悩まされており、ネットワークタイムアウトが設定されていない場合、接続がハングする可能性があります。



    1. 多対多の関係を持つMySQLの制限

    2. PHP/MySQLインジェクションの例

    3. 準備されたINSERTステートメントのpythonmysql.connectorでNone(NULL)値を使用できません

    4. SQLServerで削除されたデータベースを追跡する方法