Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Armazenar um Blob de Java para BD:tamanho dos dados maior que o tamanho máximo para este tipo quando claramente não é


Não é a resposta

Você não pode manter os bytes de uma imagem em uma String (corretamente). Você pode primeiro codificar o byte[] usando Base64 em uma String. Talvez eu tenha entendido errado, e você fez isso corretamente. Verifique se você registrou todas as exceções.

Existem algumas outras conversões Base64 além da versão obsoleta do sun (que não está disponível em todos os JDK). Em JavaEE:
import javax.xml.bind.DatatypeConverter;
String data = "...";
byte[] bytes = DatatypeConverter.parseBase64Binary(data);
String data = DatatypeConverter.parseBase64Binary(bytes);

Você não pode armazenar os dados como blob binário, sem codificação base64? Pelo menos economizaria espaço.

Um outro erro pode ser o crescimento do ByteArray reutilizado ou algo outro bug trivial.