Bonsoir,

je suis en train de travailler sur une application qui permet d'insérer des BLOBs et des CLOBs dans une BDD Oracle 10g.

Mon code fonctionne sur les fichiers inférieures à 4000 octets (j'ai vérifié pour les CLOB, mais ça semble être identique pour les BLOB)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT length(monclob) from matable;
me renvoie null pour les fichiers de plus de 4000 octets que j'ai insérés.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
File file = new File("resume.txt");    
InputStream fis = new FileInputStream(file);   
System.out.println( file.length() );
PreparedStatement pstmt = conn.prepareStatement("update OUVRAGE set descriptif = ? where isbn='" + dlg.isbn + "'");
pstmt.setAsciiStream(1, fis, (int) file.length());
pstmt.executeUpdate();
pstmt.close();
Il faut préciser que file.length() me renvoie des chiffres corrects.

Donc on dirait bien que le CLOB/BLOB est vide.
Voilà c'est la première fois que je suis confronté à ce genre de problèmes.

J'ai recherché sur ce forum, j'ai vu des problèmes quasi identiques sans vraiment de réponses. Sur google, pareil, j'ai essayé ce qu'il y a dans la FAQ sur le site d'Oracle, en vain.

J'arrive souvent là dessus : "ENABLE STORAGE IN ROW", ça viendrait du serveur à l'autre bout?