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

Gem en Blob fra Java til BD:Datastørrelse større end maks. størrelse for denne type, når det tydeligvis ikke er det

Ikke svaret

Du kan ikke beholde bytes af et billede i en streng (korrekt). Du kan først kode byte[] ved at bruge Base64 til en streng. Måske selvom jeg misforstår, og du gjorde det korrekt. Tjek, at du har logget alle undtagelser.

Der er nogle andre Base64-konverteringer udover den forældede solversion (som ikke er tilgængelig i alle JDK). I JavaEE:

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

Kan du ikke gemme dataene som binær blob uden base64-kodning? Det ville i det mindste spare plads.

En anden fejl kunne være vækst af genbrugte ByteArray'er eller en anden triviel fejl.



  1. TO_CHAR af en Oracle PL/SQL TABLE-type

  2. Sådan finder du duplikerede poster ved at bruge Group by og Having-klausulen i SQL Server - SQL Server / TSQL Tutorial Part 132

  3. Oracle indsæt tegn i en streng

  4. PostgreSQL gener_series() med SQL-funktion som argumenter