Bonjour, je dispose d'un script contenant le backup de ma base et je souhate l'exécuter. J'ai donc codé ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Session session = HibernateSessionFactory.getSession();
Transaction transaction;
InputStream ips = new FileInputStream(backupScript); 	
BufferedInputStream bis= new BufferedInputStream(ips);
InputStreamReader ipsr = new InputStreamReader(bis);
BufferedReader br = new BufferedReader(ipsr);
String ligne;
String sqlQuery = "";
while ((ligne = br.readLine()) != null) {
        if (ligne.startsWith("--")) {
	    	continue;
        }
        sqlQuery += ligne;
	if (ligne.endsWith(";")) {
	    transaction = session.beginTransaction();
	    session.createSQLQuery(sqlQuery).executeUpdate();												
	    transaction.commit();
	    sqlQuery = "";
	}
}
br.close(); 
session.close();
Cela fonctionne, mais c'est très très lent et me bloque Eclipse durant l'exécution. L'exécution de ce script ne prend que quelques secondes avec Mysql Administrator (5-6sec). Le problème se situe au niveau des insertions contenant des blobs. Sauriez vous où se situe le problème et comment le résoudre ?