Mysql
 sql >> Baza danych >  >> RDS >> Mysql

PreparedStatement nigdy nie przekroczy limitu czasu, nawet jeśli zostanie wyraźnie ustawiony

Wywołaj Connection.setNetworkTimeout() w ostatniej próbie .

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 {
   ...
}

Masz niepotwierdzony ruch TCP, który może zawiesić połączenie, jeśli nie ustawiono limitu czasu sieci.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak obliczyć średnią sprzedaż tygodniową w MySQL?

  2. Jak {} wpływa na zapytanie MySQL w PHP?

  3. Używanie niestandardowego konwertera dla DSL.val() JOOQ

  4. MySql wybierz dynamiczne wartości wierszy jako nazwy kolumn

  5. Zapisywanie plików jako blob w bazie danych ajax php pdo