sql >> Base de Datos >  >> RDS >> Oracle

¿Cómo coloco BLOB grandes (o al menos no triviales) en Oracle con JDBC?

No creo que pueda actualizar o insertar en un BLOB/CLOB con JDBC en un solo paso (para datos> 4k). De este ejemplo de Oracle , parece que necesitas:

  1. Inserte un LOB vacío con la función SQL empty_clob()
  2. Seleccione para actualizar el LOB que ha insertado
  3. obtenga el LOB en java con ResultSet.getBlob() luego obtenga el flujo de salida con blob.setBinaryStream (desde oracle.sql.BLOB.getBinaryOutputStream() está en desuso)
  4. escribir en este flujo de salida
  5. cierre el flujo de salida cuando haya terminado

Haría algo similar en Pl/SQL (SELECCIONE PARA ACTUALIZAR un LOB, luego escríbalo).