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

Passaggio di BLOB di grandi dimensioni a stored procedure

Se l'utilizzo di Java è un'opzione, puoi passare un oggetto InputStream a una PreparedStatement per riempire un campo BLOB. Qualcosa del genere, gestione delle eccezioni e tutte le altre cose da aggiungere:

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

Penso che Java lo farà usando i buffer e non caricherà l'intero file in memoria.