Campo bytea no PostgreSQL

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?


http://www.postgresql.org/docs/7.4/interactive/jdbc-binary-data.html

http://www.postgresql.org/docs/7.4/interactive/jdbc-binary-data.html