Si je me souviens bien, les pilotes Oracle JDBC (du moins les plus anciens - vous ne nous avez pas dit quelle version vous utilisez) ne prennent pas en charge setBytes()
(ou getBytes()
).
D'après mon expérience, en utilisant setBinaryStream()
est bien plus fiable et stable :
InputStream in = new ByteArrayInputStream(data);
pstmt.setBinarySream(4, in, data.length);