sql >> Databasteknik >  >> RDS >> Mysql

Inga operationer tillåtna efter att anslutningen stängts MYSQL

Det beror på två skäl:

  • Anslutningen stängs efter exekvering av första PreparedStatement
  • getcon använder en instance variabel istället för local variabel. På grund av detta, samma conn variabel (den som stängdes tidigare) returneras när getcon kallas nästa gång.

För att åtgärda detta, getcon och DBConnect måste modifieras för att deklarera en lokal conn variabel och returnera den (du behöver faktiskt inte DBConnect alls), t.ex.:

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. EFTER LOGON(Oracle) trigger i PostgreSQL med tillägg – login_hook

  2. mysql dump - exkludera vissa tabelldata

  3. Hur man importerar CSV-fil till MySQL-tabell

  4. MySQL find_in_set med flera söksträngar