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)
SELECT length(monclob) from matable;
me renvoie null pour les fichiers de plus de 4000 octets que j'ai insérés.
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?
Partager