Leer campo BLOB usando clase DAO

rinflax
06 de Abril del 2006
Agradeceria si me pudieran brindar un ejemplo de clase DAO que se conecte al servidor (Oracle 9i) para leer un archivo de tipo BLOB(que se encuentra en la tabla CARPETA por ejemplo), para despues guardarlo en el disco duro. de antemano agradesco la ayuda brindada. Andrés.

Vanesa
06 de Abril del 2006
Sería así:

Connection conn = getConexion();

String sql = "SELECT datoBLOB FROM carpeta WHERE id_carpeta=5";

Statement st = conn.createStatement();
Resulset rs = st.executeQuery(sql);
if (!rs.next()) {
System.out.println("Registro no encontrado en bd");
}

// Obtener el registro de salida
Blob blob = rs.getBlob("datosBLOB");
StringBuffer strOut = new StringBuffer();

int bytesread = 0;

InputStream inputStream = blob.getAsciiStream();

byte[] bytebuffer = new byte[ (int)blob.length() ];

while ( ( bytesread = inputStream.read( bytebuffer ) ) != -1 ) {
strOut.append( new String(bytebuffer) );
}


inputStream.close();

String varBLOB = strOut.toString();
Hay que contar con las excepciones.
Un saludo.

musa
06 de Abril del 2006
Gracias Vanesa por el código, estaba ya fustrada y tu código me funcionò!!!!!!

musa
06 de Abril del 2006
Gracias Vanesa por el código, estaba ya fustrada y tu código me funcionò!!!!!!