Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Lưu trữ Blob từ Java sang BD:Kích thước dữ liệu lớn hơn kích thước tối đa cho loại này khi rõ ràng là không

Không phải câu trả lời

Bạn không thể giữ các byte của một hình ảnh trong một Chuỗi (một cách chính xác). Trước tiên, bạn có thể mã hóa byte[] bằng cách sử dụng Base64 thành một chuỗi. Có thể mặc dù tôi hiểu sai, và bạn đã làm đúng. Kiểm tra xem bạn có ghi lại mọi ngoại lệ hay không.

Có một số chuyển đổi Base64 khác ngoài phiên bản của mặt trời không dùng nữa (không có sẵn trong mọi JDK). Trong JavaEE:

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

Bạn không thể lưu trữ dữ liệu dưới dạng nhị phân blob mà không có mã hóa base64? Nó ít nhất sẽ tiết kiệm không gian.

Một lỗi khác có thể đang phát triển do ByteArray được tái sử dụng hoặc một lỗi nhỏ nào đó khác.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Các tiêu chí ngủ đông để lấy các bản ghi có năm 2012

  2. sự khác biệt giữa từ khóa tham gia và từ khóa tham gia bên trong trong sql oracle là gì?

  3. SQLite cho Oracle

  4. Ngày kiểm tra PL / SQL là hợp lệ

  5. Công cụ dành cho nhà phát triển Oracle SQL:Tải xuống &Cài đặt