[pgbr-geral] Gravando o conteudo de um XML no banco

2012-07-06 Por tôpico jarbas
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 campo para XML , e gravei 
dessa forma :

‘update tabela set espelho_xml=xmlparse(DOCUMENT ‘conteudo do arquivo xml’) 
where id=99’  , nao gravou nada 

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 .

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


Desde ja eu agredeço 

Att
Jarbas 

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Gravando o conteudo de um XML no banco

2012-07-06 Por tôpico Itamar Reis Peixoto
2012/7/6  jar...@softtecsoftware.com.br:
 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 campo para
 XML , e gravei dessa forma :

 ‘update tabela set espelho_xml=xmlparse(DOCUMENT ‘conteudo do arquivo xml’)
 where id=99’  , nao gravou nada

 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 .

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


 Desde ja eu agredeço

 Att
 Jarbas



eu tentaria como bytea



-- 


Itamar Reis Peixoto
msn, google talk: ita...@ispbrasil.com.br
+55 11 4063 5033 (FIXO SP)
+55 34 9158 9329 (TIM)
+55 34 8806 3989 (OI)
+55 34 3221 8599 (FIXO MG)
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Gravando o conteudo de um XML no banco

2012-07-06 Por tôpico Flavio Henrique Araque Gurgel

Em 06-07-2012 15:08, jar...@softtecsoftware.com.br 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
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Gravando o conteudo de um XML no banco

2012-07-06 Por tôpico jarbas
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=NFe35120605636104000100550011100011 versao=2.00- ide 
cUF35/cUF   cNF0001/cNF   natOpVENDAS/natOp 
indPag1/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: pgbr-geral@listas.postgresql.org.br
Subject: Re: [pgbr-geral] Gravando o conteudo de um XML no banco


Em 06-07-2012 15:08, jar...@softtecsoftware.com.br 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
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral 

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Gravando o conteudo de um XML no banco

2012-07-06 Por tôpico Flavio Henrique Araque Gurgel

Em 06-07-2012 16:21, jar...@softtecsoftware.com.br escreveu:
 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=NFe35120605636104000100550011100011 versao=2.00-ide
 cUF35/cUFcNF0001/cNFnatOpVENDAS/natOp
 indPag1/indPag  . . . '

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

Me parece ser isso que você precisa, certo?


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

Desculpe, minha falha. O certo é:

SELECT version();

[]s

Flavio Henrique A. Gurgel
Consultor e Instrutor 4Linux
Tel: +55-11-2125-4747
www.4linux.com.br
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral