Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Wie verschiebe ich die ZIP-Datei in die Blob-Spalte in Java?

Dafür gibt es mehrere Möglichkeiten, aber PreparedStatement.setBinaryStream ist wahrscheinlich der beste Weg.

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

(Beachten Sie, dass ich der Einfachheit halber nichts von dem notwendigen Try/Catch-Zeug zum Schließen der Connection eingefügt habe , PreparedStatement und InputStream , aber das müssten Sie tun.)

Auf diese Weise werden die Daten aus der Datei in die Datenbank gestreamt, ohne dass sie auf einmal in den Speicher geladen werden müssen.