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

Làm thế nào để chèn một tệp lớn vào BLOB (Oracle) mà không cần tải tệp hoàn chỉnh vào bộ nhớ?

Đối với những người ngoài kia ...

Đây là quá trình để hoàn thành nó:

stmt.execute ("INSERT INTO my_blob_table VALUES ('row1', empty_blob())");
BLOB blob;
cmd = "SELECT * FROM my_blob_table WHERE X='row1' FOR UPDATE";
ResultSet rset = stmt.executeQuery(cmd);
rset.next();
BLOB blob = ((OracleResultSet)rset).getBLOB(2);
File binaryFile = new File("john.gif");
System.out.println("john.gif length = " + binaryFile.length());
FileInputStream instream = new FileInputStream(binaryFile);
OutputStream outstream = blob.setBinaryStream(1L);
int size = blob.getBufferSize();
byte[] buffer = new byte[size];
int length = -1;

Nguồn: http://docs.oracle.com /cd/B19306_01/java.102/b14355/oralob.htm#CHDFHHHG



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nối và nhóm nhiều hàng trong Oracle

  2. Oracle SQL Developer 3.1.07 thêm khoảng trắng giữa các ký tự bằng cách sử dụng listagg

  3. Sử dụng hàm LAG hoặc hàm khác trong mệnh đề SUM

  4. Oracle:nhận giá trị tối đa của một nhóm?

  5. Cách lấy phần tử đầu tiên bằng XPath trong Oracle