Gravar OutputStream ou ByteArrayOutputStream em campo BLOB

0 respostas
Carlos_Edu

Salve forum

Eu estou tentando gravar um ByteArrayOutputStream em um campo BLOB em um Oracle10g mas não estou conseguindo

Estou fazendo:

ByteArrayOutputStream out = new ByteArrayOutputStream();
(........)
DB db = new DB();
Connection con = db.getConnection(usuarioDB, senhaDB);
PreparedStatement pstmt = null;
ResultSet rs = null;
//Consulta para retornar ultimo registro, já inserido previamente
pstmt = con.prepareStatement( "SELECT * FROM (SELECT * FROM TABELA ORDER BY id_tabela DESC) WHERE rownum <= 1" );
rs = pstmt.executeQuery();
Blob blob = rs.getBlob("CAMPO");
byte[] bbuf = new byte[1024];
OutputStream bout = ((BLOB) blob).getBinaryOutputStream();
int bytesRead = 0;
while ((bytesRead = out.toByteArray()) != -1) {
    bout.write(bbuf, 0, bytesRead);
}
bout.close();
// comita transação
con.commit();
rs.close();

Desde já agradeço

</abraços>

Criado 7 de novembro de 2006
Respostas 0
Participantes 1