Ola Euler.
Não espero que  você adivinhe a solução, mas talvez você não tenha lido o 
primeiro email que enviei (a seguir), salvo a instrução de insert e o 
parametro " standard_conforming_strings"  (que coloquei ao final desse 
mail), todas as perguntas que você fez estão ai respondidas:

>>- "Estou fazendo testes no PG 9.0 para migrar as bases de dados dos 
>>clientes.
>>Estou tendo problemas ao salvar registros com o tipo de dados "bytea". 
>>Utilizo esse formato para >>armazenar imagens que converto em string. Até 
>>a versão 8.3 estava tudo ok, mas agora, ao tentar salvar >>um registro a 
>>seguinte mensagem é retornada: "invalid byte sequence for 
>>encoding"UTF8":0xff "
>>Me parece que a string possui algum caracter não suportado pelo UTF8. Será 
>>possivel?

>>O banco é Postgresql 9.0.4, Encoding='UTF8', LC_COLLATE='pt_BR.UTF8', 
>>LC_CTYPE='pt_BR.UTF8'.
>>Alterei também a variável "bytea_output" para "escape"." -

A instrução de insert é a seguinte:
INSERT INTO Imagens (codigo,imagem) VALUES ('C000002' 
,'\377\330\377\340\000\020JFIF\000\001\001\001\000\140\000\140\000\000\377\333\000C')

O parametro  "standard_conforming_strings" esta como "off"

Em pesquisas que realizei, consegui inserir o registro utilizando o seguinte 
insert:
(note a adição da letra "E" no segundo parametro do insert e também a 
utilização de duas barras ("\\").
INSERT INTO Imagens (codigo,imagem) VALUES ('C000002' 
,E'\\377\\330\\377\\340\\000\\020JFIF\\000\\001\\001\\001\\000\\140\\000\\140\\000\\000\\377\\333\\000C')

Gostaria de saber se é possivel manter o comportamento das versões 
anteriores do postgresql, pois devido ao framework que utilizo, essa 
"simples" alteração vai me dar um boommm trabalho.

Grato pela atenção.

Julio Tofoli
SetaDigital Sistemas.

--------------------------------------------------
From: "Euler Taveira de Oliveira" <[email protected]>
Sent: Tuesday, May 24, 2011 11:04 AM
To: <[email protected]>
Subject: Re: [pgbr-geral] Erro ao salvar bytea

> Em 24-05-2011 08:19, jmtofoli escreveu:
>> Ja havia mudado a variavel bytea_output, mas pelo que pesquisei, o 
>> problema
>> esta no momento de realizar o insert. Como a string que envio no insert
>> possui a barra ("/") no seu conteúdo, o postgres o entende como caracter 
>> de
>> escape, o que faz retornar o erro.
>>
> Cadê o erro? Cadê o comando que ocasionou o erro? Qual o valor dos 
> parâmetros
> bytea_output e standard_conforming_strings? Qual a versão do PostgreSQL? 
> Sem
> detalhes fica difícil adivinhar a solução...
>
>
> -- 
>   Euler Taveira de Oliveira - Timbira       http://www.timbira.com.br/
>   PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral 

_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a