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

Żadne operacje nie są dozwolone po zamknięciu połączenia MYSQL

Dzieje się tak z dwóch powodów:

  • Połączenie zostaje zamknięte po wykonaniu pierwszego PreparedStatement
  • getcon używa instance zmienna zamiast local zmienny. Z tego powodu ten sam conn zmienna (ta, która została wcześniej zamknięta) zostaje zwrócona, gdy getcon zostanie wywołany następnym razem.

Aby to naprawić, getcon i DBConnect należy zmodyfikować, aby zadeklarować lokalny conn zmienną i zwróć ją (w rzeczywistości nie potrzebujesz DBConnect w ogóle), np.:

public Connection getcon(){
    try{
        Class.forName("com.mysql.jdbc.Driver");
        String unicode="useSSL=false&autoReconnect=true&useUnicode=yes&characterEncoding=UTF-8";
        return DriverManager.getConnection("jdbc:mysql://localhost:15501/duckdb?"+unicode, "root", "_PWD");
    }catch(Exception ex){
        System.out.println(ex.getMessage());
        System.out.println("couldn't connect!");
        throw new RuntimeException(ex);
    }
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd MySQL #1064

  2. Czy mysqli_real_escape_string wystarczy, aby uniknąć wstrzyknięcia SQL lub innych ataków SQL?

  3. Połącz się z serwerem MySQL przez SSH w PHP

  4. Jak sprawdzić domyślny numer portu dla połączenia mysql? Połączenie nie działa! połączenie jdbc

  5. Znajdź kolumnę zawierającą podaną wartość w MySQL