Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment déplacer un fichier zip dans une colonne blob en Java ?

Il existe plusieurs façons de procéder, mais PreparedStatement.setBinaryStream est probablement le meilleur moyen.

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

(Notez que pour plus de simplicité, je n'ai inclus aucun des trucs try/catch nécessaires pour fermer la Connection , PreparedStatement et InputStream , mais vous auriez besoin de le faire.)

De cette manière, les données seront transmises du fichier à la base de données sans avoir à être chargées en mémoire en une seule fois.