Ciao sono nuovo del forum.
Ho un problema con una servlet:
ho uno script nomedb.sql che dovrei usare per caricare il db con le tabelle in MYSQL.
Il problema è che non so che metodi usare per fare questa cosa. Potete darmi una mano?
Grazie
Ciao sono nuovo del forum.
Ho un problema con una servlet:
ho uno script nomedb.sql che dovrei usare per caricare il db con le tabelle in MYSQL.
Il problema è che non so che metodi usare per fare questa cosa. Potete darmi una mano?
Grazie
Fondamentalmente, PreparedStatement e execute:
Prova a vedere se una cosa del genere ti sta bene. Come delimitatore di query ho usato ;acapo.
Il codice non (dovrebbe fare) fa altro che caricare il file in uno String e splittarlo attorno al delimitatore di query, poi esegue le query ottenute una per una nel ciclo for.
codice:public void uploadSQL(String filename) { String queryLine = ""; try { BufferedReader br = new BufferedReader(new FileReader(filename)); StringBuffer buf = new StringBuffer(); while ((queryLine = br.readLine()) != null) { buf.append(queryLine+"\n"); } String wholeQuery = buf.toString(); String[] queries = wholeQuery.split(";\\n"); for (String query : queries) { PreparedStatement pstmt = db.prepareStatement(query); pstmt.execute(); } } catch (Exception e) { e.printStackTrace(); } }
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
Visto che non devi usare parametri basta uno Statement (non Prepared) e meglio ancora usare i batch (vedi addBatch() nella documentazione).