Tout est dans le titre, et ça vient de ce code ci-dessous mais je ne vois pas où exactement... quelqu'un a une idée ?
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
 
public static MyResultSet execute(Connection c,String sql,Object[] args) throws SQLException {
	ArrayList<HashMap> result = new ArrayList<HashMap>();
	try{
		PreparedStatement ps = perform(c, sql, args);
		ResultSet rs = ps.getResultSet();
		ResultSetMetaData rsmd = rs.getMetaData();
		HashMap<String,String> line;
		while (rs.next()) {
			line = new HashMap<String, String>();
			for (int i=1;i<=rsmd.getColumnCount();i++) line.put(rsmd.getColumnName(i),rs.getString(i));
			result.add(line);
		}
		rsmd = null;
		rs.close();
		ps.close();
	} catch (Throwable t) {}
 
	MyResultSet mrs = new MyResultSet();
	mrs.setListe(result);
	return mrs;
}
c'est la méthode que j'appele pour toutes mes requêtes, et lors d' "inserts" massifs mon nombre de curseurs ouverts déborde à priori...

je précise que le problème ne vient pas de la ligne "PreparedStatement ps = perform(c, sql, args);" j'ai procédé à quelques tests déjà

ça ne viendrait pas de l'utilisation de ResultSetMetaData ?