ciao!
ho specificato il linguaggio, anche se il problema non penso sia quello.
in sostanza devo scorrere una cartella, e per ogni file trovato devo inserire un record nel db.
in totale sono 1938 files al momento.
dopo ogni inserimento chiudo la connessione, però ottengo questo errore:
codice:
fun main(args: Array<String>) {
getMusica()
}
fun getMusica() {
truncateTable("canzoni")
println("==========")
println("Inizio importazione Musica")
val folder = "/run/media/fermat/DATI/Personal/Musica/"
var cntTot = 0
val cmd = "INSERT INTO canzoni VALUES(?, ?, ?, NOW(), NOW())"
File(folder)
.walk()
.sortedBy { it.name }
.forEach {
cntTot++
// ALTRO
val preparedStmt: PreparedStatement = getClient().prepareStatement(cmd)
preparedStmt.setString(1, it.name)
preparedStmt.setString(2, autore)
preparedStmt.setString(3, genere)
preparedStmt.execute()
getClient().close()
Thread.sleep(1000)
println(it.name)
}
println("==========")
println("Totale canzoni: $cntTot")
}
fun truncateTable(table: String) {
val statement: Statement = getClient().createStatement()
statement.executeUpdate("TRUNCATE $table")
getClient().commit()
getClient().close()
}
fun getClient(): Connection {
return DriverManager.getConnection(
"........."
)
}
che strategia posso adottare per evitare questo problema?
considerando che non posso modificare quel parametro purtroppo.