Leer campo BLOB usando clase DAO
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.
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.
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.
Gracias Vanesa por el c贸digo, estaba ya fustrada y tu c贸digo me funcion貌!!!!!!
