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

Come faccio a spostare il file zip nella colonna BLOB in Java?

Ci sono diversi modi per farlo, ma PreparedStatement.setBinaryStream è probabilmente il modo migliore.

public void saveFileToDatabase(File file) {
  InputStream inputStream = new FileInputStream(file);

  Connection conn = ...;
  PreparedStatement pS = conn.prepareStatement(...);
  ...
  pS.setBinaryStream(index, inputStream, (int) file.length());
  ...
  pS.executeUpdate();
}

(Nota che per semplicità non ho incluso nessuna delle cose try/catch necessarie per chiudere la Connection , PreparedStatement e InputStream , ma dovresti farlo.)

In questo modo, i dati verranno trasmessi in streaming dal file al database senza dover essere caricati in memoria tutto in una volta.