Pessoal,
Estou tendo dificuldade de recuperar uma imagem gravada num campo bytea, estou tendo a seguinte mensagem de erro ao tentar ler o campo:
“org.postgresql.util.PSQLException: Valor inválido para tipo int”
O código executado é o seguinte:
<%@ page language="java" import="java.lang.*, java.sql.*, java.io.*, biblioteca.JPEGManager, persistencia.*" %>
<%@ page pageEncoding="iso-8859-1"%>
<%
try {
// criando a conexao com o banco de dados
Connection con = persistencia.Conexao.getInstancia().getConnection();
Statement stm = con.createStatement();
// procurando pela foto na tabela
ResultSet rs = stm.executeQuery("SELECT imagem FROM nota WHERE id = 33");
if (rs.next()) {
// pegando o conteudo do campo foto (BLOB, binario)
Blob blob = rs.getBlob("imagem");
// Codificando para JPG e enviando para o browser, através do Output do servlet
JPEGManager.encodeJPG(response.getOutputStream(), blob.getBytes(1, (int) blob.length()) );
}
}catch (Exception e){
out.println(e.toString());
}
%>
Esse erro acontece quando a seguinte linha é executada:
Blob blob = rs.getBlob("imagem");
Alguém sabe o que está errado?