Se ricordo bene i driver Oracle JDBC (almeno quelli più vecchi - non ci hai detto quale versione stai usando) non supportano setBytes()
(o getBytes()
).
Nella mia esperienza, usando setBinaryStream()
è molto più affidabile e stabile:
InputStream in = new ByteArrayInputStream(data);
pstmt.setBinarySream(4, in, data.length);