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