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

Passer de gros objets BLOB à une procédure stockée

Si l'utilisation de Java est une option, vous pouvez transmettre un objet InputStream à un PreparedStatement pour remplir un champ Blob. Quelque chose comme ça, la gestion des exceptions et tous les autres éléments à ajouter :

Connection con = someDataSource.getConnection();
String sql = "INSERT INTO MY_TABLE(MY_BLOB) VALUES(?)";
PreparedStatement ps = con.prepareStatement(sql);
InputStream fis = new FileInputStream("MyBigFile.big");
ps.setBlob(1, fis);
ps.executeUpdate();

Je pense que Java le fera en utilisant des tampons et ne chargera pas tout le fichier en mémoire.