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

Almacene un blob de Java a BD:tamaño de datos mayor que el tamaño máximo para este tipo cuando claramente no lo es

No es la respuesta

No puede mantener los bytes de una imagen en una Cadena (correctamente). Primero podría codificar el byte[] usando Base64 en una cadena. Tal vez aunque entendí mal, y lo hiciste correctamente. Compruebe que registró todas las excepciones.

Hay algunas otras conversiones de Base64 además de la versión obsoleta de Sun (que no está disponible en todos los JDK). En JavaEE:

import javax.xml.bind.DatatypeConverter;
String data = "...";
byte[] bytes = DatatypeConverter.parseBase64Binary(data);
String data = DatatypeConverter.parseBase64Binary(bytes);

¿No puede almacenar los datos como blob binario, sin codificación base64? Al menos ahorraría espacio.

Otro error podría ser el crecimiento de ByteArray reutilizado o algún otro error trivial.