Buenos dias.
Soy nuevo en el foro, asi que gracias anticipadas a todos por su ayuda.
Estoy programando en Netbeans JSP y quiero guardar una imagen en un campo blob que esta en Oracle, ya he revisado mucho del tema, pero no encuentro donde esta mi error, mi codigo es el siguiente:
public void save_file_ED(JspWriter out, Connection conection, String Ruta) throws SQLException,ClassNotFoundException,IllegalAccessE xception,InstantiationException {
PreparedStatement pstmt=null;
try {
conection.setAutoCommit(false);
pstmt=conection.prepareStatement(update <Tabla> set imagen=? where clave='1000' and hoja=2 and tipodocumento=10);
File file1 = new File(Ruta);
InputStream in = new FileInputStream(file1);
pstmt.setBinaryStream( 1 , in , (int) (file1.length()) );
pstmt.executeUpdate();
in.close();
pstmt.close();
pstmt=null;
conection.commit();
} catch(SQLException ex) {
conection.rollback();
System.out.println("Expediente.Carga] SQLError: "+ ex.getMessage() );
} catch(Exception e) {
System.out.println("[Documento.save_file_ED] Error: "+ e.getMessage());
} finally {
if (pstmt != null)
pstmt.close();
}
return;
};
la cuestión es de que no me marca ningún error, reviso en la tabla y no almaceno nada, esta null.
Como dato adicional, les comento que cambie la linea:
pstmt.setBinaryStream( 1 , in , (int) (file1.length()) );
por esto:
pstmt.setBinaryStream(1,in,(byte)file1.length());
y si me guarda algo, pero cuando la quiero ver en la consola de sql me dice que no se ha podido descodificar la imagen del flujo binario, aparte cuando en mi pagina recupero la imagen no me muestra nada.
Espero me puedan ayudar ya llevo 3 días y no encuentro el porque no me guarda la imagen.
Gracias.