Flavio , obrigado pelas informações :

Me expressei mal , a limitação não está no campo TEXT  e sim no tamanho da 
query para grava-lo , visto que fica dessa forma :

update tabela espelho_xml='<?xml version="1.0" encoding="UTF-8" ?> - 
<nfeProc xmlns="http://www.portalfiscal.inf.br/nfe"; versao="2.00">- <NFe 
xmlns="http://www.portalfiscal.inf.br/nfe";>- <infNFe 
d="NFe35120605636104000100550010000000011000000011" versao="2.00">- <ide> 
<cUF>35</cUF>   <cNF>00000001</cNF>   <natOp>VENDAS</natOp> 
<indPag>1</indPag> . . . '

Fiz o comando : SHOW xmloption; e o resultado foi : "content"

Fiz o comando : SHOW version; e o resultado foi erro : ERROR:  unrecognized 
configuration parameter "version"

Desde ja agradeço.

Att
Jarbas



-----Mensagem Original----- 
From: Flavio Henrique Araque Gurgel
Sent: Friday, July 06, 2012 3:33 PM
To: [email protected]
Subject: Re: [pgbr-geral] Gravando o conteudo de um XML no banco


Em 06-07-2012 15:08, [email protected] escreveu:
> Senhores, boa tarde , estou tentando gravar o conteudo de um arquivo XML
> (nf-e) no banco de dados , primeiramente criei um campo do tipo TEXT ,
> nao deu certo porque o conteudo é muito grande , entao modifiquei o

A limitação de tamanho para campo text é de 1GB. Seu XML é tão grande assim?

> campo para XML , e gravei dessa forma :
> ‘update tabela set espelho_xml=xmlparse(DOCUMENT ‘conteudo do arquivo
> xml’) where id=99’ , nao gravou nada

A documentação do xmlparse está aqui:
http://www.postgresql.org/docs/9.1/static/datatype-xml.html
Deveria ter funcionado.

> lendo a documentação do pg descobri que para usar XML é necessario
> algumas configurações , como o meu banco esta na LOCAWEB , nao sei se
> esta configurado corretamente , pesquisando descobri que posso usar o
> campo de tipo BYTEA ou OID .

O campo deveria ser tipo xml mesmo.
Você tem que setar como vai passar o XML (document ou content).

> Alguem poderia me dar um dica de qual maneira seria melhor fazer isso ?

Conecte-se ao banco e execute:
SHOW xmloption;

Veja o que sai.
Como a configuração pode ser feita por sessão ou usuário, você só
precisa fazer:
SET xmloption = 'o que você precisar';
Antes de executar o xmlparse e xmlserialize. Não precisa alterar
configuração no servidor.

Aproveite e faça um:
SHOW version;

Pra saber qual a versão do PostgreSQL que o seu fornecedor está te
disponibilizando.

[]s

Flavio Henrique A. Gurgel
Consultor e Instrutor 4Linux
Tel: +55-11-2125-4747
www.4linux.com.br
_______________________________________________
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