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

Làm cách nào để đặt BLOB lớn (hoặc ít nhất là không tầm thường) vào Oracle với JDBC?

Tôi không nghĩ rằng bạn có thể cập nhật hoặc chèn vào BLOB / CLOB với JDBC trong một bước duy nhất (đối với dữ liệu> 4k). Từ ví dụ này từ Oracle , có vẻ như bạn cần:

  1. Chèn LOB trống bằng hàm SQL empty_clob()
  2. Chọn để cập nhật LOB bạn đã chèn
  3. lấy LOB trong java bằng ResultSet.getBlob() sau đó lấy luồng đầu ra với blob.setBinaryStream (vì oracle.sql.BLOB.getBinaryOutputStream() không được dùng nữa)
  4. ghi vào luồng đầu ra này
  5. đóng luồng đầu ra khi bạn kết thúc

Bạn sẽ làm điều gì đó tương tự trong Pl / SQL (CHỌN CẬP NHẬT LOB, sau đó ghi vào nó).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. hàm pipelined với oracle tham số con trỏ

  2. Dấu gạch dưới không hoạt động trong mệnh đề oracle like

  3. chuyển vào tên bảng dưới dạng tham số plsql

  4. Giá trị ràng buộc mảng Oracle.DataAccess (ODP.NET) không nằm trong phạm vi mong đợi

  5. CHỌN từ bảng với danh sách Thay đổi IN trong mệnh đề WHERE