sql >> Databasteknik >  >> RDS >> Oracle

Lagra en blob från Java till BD:Datastorlek större än maxstorleken för denna typ när det uppenbarligen inte är det

Inte svaret

Du kan inte behålla byten av en bild i en sträng (korrekt). Du kan först koda byte[] använda Base64 till en sträng. Kanske även om jag missförstår, och du gjorde det rätt. Kontrollera att du loggade alla undantag.

Det finns några andra Base64-omvandlingar förutom den föråldrade Sun-versionen (som inte är tillgänglig i alla JDK). I JavaEE:

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

Kan du inte lagra data som binär blob, utan base64-kodning? Det skulle åtminstone spara utrymme.

Ett annat fel kan vara att återanvända ByteArrays växer eller något annat trivialt fel.



  1. Hur hjälper databasdesign att organisera lärare, lektioner och elever?

  2. SQL beställningsdata från rad n+1 till n-1

  3. Uppdatera rader i SSIS OLEDB-destination

  4. Hur kan jag få kolumnnamn från en tabell i SQL Server?