sql >> Base de Datos >  >> RDS >> Oracle

¿Cómo muevo el archivo zip a la columna blob en Java?

Hay varias formas de hacerlo, pero PreparedStatement.setBinaryStream es probablemente la mejor manera.

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();
}

(Tenga en cuenta que, por simplicidad, no incluí ninguna de las cosas necesarias para intentar/atrapar para cerrar la Connection , PreparedStatement y InputStream , pero tendría que hacer eso).

Hecho de esta manera, los datos se transmitirán desde el archivo a la base de datos sin tener que cargarlos en la memoria todos a la vez.