Buenas.
Gurizada, é o seguinte… Tô migrando um sistema do delphi para o java (JSF), e tenho um campo do tipo blob, no banco oracle, o qual devo migrar para o postgres (bytea).
Meu código está assim:
[code]public static void main(String args[]){
try{
InsereDadosOra id = new InsereDadosOra();
ResultSet rs = id.retornaTabela();
Connection conexao = getConexao();
int intConta = 0;
while(rs.next()){
intConta++;
PreparedStatement declaracao = null;
String sql = "insert into fso_figuras_fso (capitulo, identifica, figura, descricao, imagem, numfig, dpis) values " +
"(?, ?, ?, ?, ?, ?, ?)";
try {
String strCdCapitulo = rs.getString("capitulo");
String strNrFSO = rs.getString("identifica");
int intCdFigura = rs.getInt("figura");
String strDsFigura = rs.getString("descricao");
byte[] byteImagem = rs.getBytes("imagem");
String strNrFigura = rs.getString("numfig");
int intNrDpi = rs.getInt("dpis");
System.out.println("Mostrando - <" + intConta + "> ----> " + strCdCapitulo);
declaracao = conexao.prepareStatement(sql);
declaracao.setString(1, strCdCapitulo);
declaracao.setString(2, strNrFSO);
declaracao.setInt(3, intCdFigura);
declaracao.setString(4, strDsFigura);
declaracao.setBytes(5, byteImagem);
declaracao.setString(6, strNrFigura);
declaracao.setInt(7, intNrDpi);
declaracao.executeUpdate();
} catch (Exception ex) {
System.out.println("Erro ---- >>> " + ex);
}
}
}catch(Exception e){
System.out.println("Erro -> " + e);
}
}[/code]
Bom, ele migra beleza… sem galho, só que os dados ficam em um formato assim:
Daí eu tento gerar imagens com um servlet, tipo esse:
(...)
InputStream in = rs.getBinaryStream("imagem");
OutputStream out = response.getOutputStream();
int b;
while ((b = in.read()) != -1) {
out.write(b);
intCt++;
}
in.close();
out.flush();
out.close();
(...)
Quando eu cadastro uma imagem a partir do meu sistema, consigo exibir, mas os dados legados, não exibe…
Alguma sugestão?! (talvez eu esteja migrando em formato errado, não sei)
Se alguém já teve alguma experiência neste sentido, e puder me ajudar…
brigadão aí galera.
Valeu!