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 ?
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...
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; }
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 ?
Partager