[firebase-br] RES: XML no campo BLOB

André Conrado acf em andreconrado.net
Sex Nov 30 15:05:09 -03 2012


Jonas, ao declarar a variável XML no teu procedimento vc usou o SUB_TYPE=1
(TEXTO). Troque para SUB_TYPE=0(BINARIO) que é o mesmo que vc está usando
na tabela.

Abs

Em 30 de novembro de 2012 10:40, Marcelo Geyer <estanisgeyer em gmail.com>escreveu:

> Eu também trabalho com o XML no banco de dados e não tenho esse problema,
> no entanto eu só trabalho com UTF-8, além de programar em C++ e Qt.
>
> Abraços,
>
> --
> Marcelo E. Geyer
> Standard Net Tecnologia e Informação
>
> Em 30 de novembro de 2012 08:51, Jonas Rodrigo Pacheco <
> jonas.pacheco em tecnicon.com.br> escreveu:
>
> > Obrigado pelo retorno,
> >
> > No entanto o XML é gerado a nível de banco de dados, ou seja, não posso
> > tratar isso no nível da aplicação.
> >
> > A procedure funciona da seguinte forma, guarda um histórico do valor/xml
> > do campo:
> >
> > create or alter procedure RXML (
> >     SEQ integer,
> >     CAMPO varchar(200),
> >     TIPO char(1),
> >     ANTERIOR blob sub_type 1 segment size 80,
> >     ATUAL blob sub_type 1 segment size 80)
> > returns (
> >     REGISTRO blob sub_type 1 segment size 80)
> > as
> > declare variable XML blob sub_type 1 segment size 80;
> > begin
> >   XML= 'C=|'||:campo||'| T=|'||:tipo||'| O=|'||Coalesce(:anterior,'')||'|
> > N=|'||Coalesce(:atual,'');
> >   registro = '<ROW '||:XML||'|/>';
> >   suspend;
> > end^
> >
> >
> > Jonas Rodrigo Pacheco
> >
> > -----Mensagem original-----
> > De: lista [mailto:lista-bounces em firebase.com.br] Em nome de Carlos H.
> > Cantu
> > Enviada em: quinta-feira, 29 de novembro de 2012 10:18
> > Para: FireBase
> > Assunto: Re: [firebase-br] XML no campo BLOB
> >
> > O problema não deve estar no Firebird, e sim no seu componente de acesso,
> > ou na forma que você está carregando/recuperando o conteúdo no blob.
> >
> > O Firebird grava o que chegar pra ele gravar. No entanto, seu componente
> > de acesso pode estar tratando os caracteres especiais como sendo final de
> > arquivo/linha/etc, truncando o conteúdo.
> >
> > []s
> > Carlos H. Cantu
> > www.FireBase.com.br - www.firebirdnews.org www.warmboot.com.br -
> > blog.firebase.com.br
> >
> > JRP> Senhores,
> >
> > JRP> Estou armazenando arquivo XML em um campo da tabela do tipo BLOB.
> >
> > JRP> CREATE TABLE NFXML (
> > JRP>     SNFE      INTEGER NOT NULL,
> > JRP>     NFXML         BLOB SUB_TYPE 0 SEGMENT SIZE 80);
> >
> > JRP> INSERT INTO NFXML (SNFE, NEXML) VALUES (:S, :VXML);
> >
> > JRP> Pórem alguns arquivos XML possuem algum caracter especial que
> > JRP> aparentemente conflita com o Firebird e consequentemente na tabela
> > JRP> o arquivo BLOB tem só uma parte gravada (ou seja, fica incompleto,
> > JRP> pois só grava a parte até chegar ao caracter especial).
> >
> > JRP> Alguma sugestão? Eu não informo charset (chaset=NONE).
> >
> > JRP> Desde já agradeço a atenção de todos!
> >
> > JRP> Jonas Rodrigo Pacheco
> >
> > JRP> ______________________________________________
> > JRP> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > JRP> Para saber como gerenciar/excluir seu cadastro na lista, use:
> > JRP> http://www.firebase.com.br/fb/artigo.php?id=1107
> > JRP> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >
> >
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br Para
> > saber como gerenciar/excluir seu cadastro na lista, use:
> > http://www.firebase.com.br/fb/artigo.php?id=1107
> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >
> >
> >
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > http://www.firebase.com.br/fb/artigo.php?id=1107
> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



-- 
Um Abraço,
André Conrado.

055 21 8840-6232 - Claro
e-mail: acf em andreconrado.net
http://andreconrado.net



Mais detalhes sobre a lista de discussão lista