Oracle
 sql >> Database >  >> RDS >> Oracle

Archivia un BLOB da Java a BD:dimensione dei dati maggiore della dimensione massima per questo tipo quando chiaramente non lo è

Non è la risposta

Non è possibile mantenere i byte di un'immagine in una stringa (correttamente). Puoi prima codificare il byte[] utilizzando Base64 in una stringa. Forse anche se ho frainteso e l'hai fatto correttamente. Verifica di aver registrato tutte le eccezioni.

Ci sono altre conversioni Base64 oltre alla versione deprecata di Sun (che non è disponibile in tutti i JDK). In JavaEE:

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

Non puoi archiviare i dati come BLOB binario, senza la codifica base64? Almeno risparmierebbe spazio.

Un altro errore potrebbe essere la crescita di ByteArray riutilizzati o qualche altro bug banale.