Bytea postgres

2 respostas
G

Galera ja estou enlouquecendo. Preciso inserir dados em uma tabela do postgres com um campo que é do tipo bytea (era um campo blob quando essa base era no oracle). Mas não sei que tipo de dado devo passar para o prepared statement.
Não quero inserir fotos, nem arquivos nem vídeo, uso para inserir uma cadeia de caracteres e não eu não vou usar o tipo text, preciso que seja esse tipo de campo por uma série de outras coisas que não vem ao caso agora. Apenas preciso saber como inserir nesse maldito campo, alguém ja fez algo parecido ?? Pois todos os exemplos que encontro são para inserir fotos e arquivos…
Espero ter sido claro, valew…

2 Respostas

T

Você não pode converter seu texto em um array de bytes? Algo como:

String s = "Gisele Bündchen";
byte[] b = s.getBytes ("UTF-8");
G

thingol na verdade eu fiz assim e funcionou…

try {
                    if (mensagem.getMensagem() instanceof byte[]) {
                        msg = (byte[]) mensagem.getMensagem();
                        ps.setBytes(10, msg);
                    } else {
                        ByteArrayOutputStream baos = new ByteArrayOutputStream();
                        ObjectOutputStream oos = new ObjectOutputStream(baos);
                        oos.writeObject(mensagem.getMensagem());
                        oos.flush();

                        msg = baos.toByteArray();
                        ps.setBytes(10, msg);
                    }

É que as vezes um objeto do tipo serializable eh passado para inserção nesse campo… Agora tenho dúvidas quanto a recuperação desse campo do banco de dados… Vc tem alguma sugestão ??

Criado 2 de julho de 2008
Ultima resposta 2 de jul. de 2008
Respostas 2
Participantes 2