Oracle JDBCドライバー(少なくとも古いドライバー-使用しているバージョンを教えてくれなかった)を正しく思い出せば、setBytes()はサポートされていません。 (またはgetBytes() 。
私の経験では、setBinaryStream()を使用しています はるかに信頼性が高く、安定しています:
InputStream in = new ByteArrayInputStream(data);
pstmt.setBinarySream(4, in, data.length);