Mysql
 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL за копиране на стойности от една таблица в друга

  2. Инсталиране на MySQL-python

  3. mysqli_connect():(HY000/2002):Не мога да се свържа с локален MySQL сървър чрез сокет

  4. Подготвеният израз не работи със заявки за ALTER таблица

  5. sails-mysql:ER_NO_DB_ERROR:Няма избрана база данни