Non penso che tu possa aggiornare o inserire in un BLOB/CLOB con JDBC in un solo passaggio (per dati> 4k). Da questo esempio da Oracle , sembra che tu debba:
- Inserisci una LOB vuota con la funzione SQL
empty_clob()
- Seleziona per aggiornare la LOB che hai inserito
- ottieni la LOB in java con
ResultSet.getBlob()
quindi ottieni il flusso di output conblob.setBinaryStream
(dal momento cheoracle.sql.BLOB.getBinaryOutputStream()
è deprecato) - scrivi in questo flusso di output
- chiudi il flusso di output quando hai finito
Faresti qualcosa di simile in Pl/SQL (SELECT FOR UPDATE a LOB, quindi scrivici).