Bonjour,
je travaille sur une application Struts utilisant une base oracle et j'ai un problème lors d'une requête mettant à jour un enregistrement contenant des CLOB.
Voici un extrait de code dans lequel j'ai reduit la requete aux champs qui posent probleme pour des raisons de clarté :
J'ai donc 2 champs, description et modification, qui doivent être enregistrés en base dans des champs de type CLOB.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 String req = "UPDATE FICHE SET DESCRIPTION = ? , MODIFICATION = ? " + "WHERE idFiche = ? "; pStmt = conn.prepareStatement(req); stringReader = new StringReader(fiche.getDescription()); pStmt.setCharacterStream(1, stringReader, fiche.getDescription().length()); stringReader = new StringReader(fiche.getModification()); pStmt.setCharacterStream(2, stringReader, fiche.getModification().length()); pStmt.setInt(3, 1); pStmt.executeUpdate();
Mon problème est que les contenus de "description" et "modification" sont échangés dans le cas où "description" > 4000 caractères et "modification" > 1000.
Dans tous les autres cas, tout fonctionne bien.
La je sèche un peu, si quelqu'un a une idée, je suis preneur.
Merci
Partager