- Este tópico contém 4 respostas, 3 vozes e foi atualizado pela última vez 12 anos, 5 meses atrás por rman.
-
AutorPosts
-
1 de junho de 2012 às 4:53 pm #103729HitotuziParticipante
Bom dia,
Existe a possibilidade de carregar apenas algumas tags do aquivo xml e gravar no banco?
A pergunta é que o procedimento que fiz carrega apenas xml que estão completos, o que ocorre é que as vezes recebo xml onde no final aparece uma tag que não é utilizada pra nada que vem incompleta ocasionando os erros:
ORA-31011: falha no parse XML
ORA-19202: Ocorreu um erro no processamento XML
LPX-00245: dados extras depois do fim do documento
Error at line 1
ORA-06512: em "SYS.XMLTYPE", line 296
ORA-06512: em line 1
Então eu queria carregar o xml até a tag que eu preciso, ignorando a última que sempre da erro.
1 de junho de 2012 às 5:09 pm #103730rmanParticipante@Hitotuzi
Poderia postar o procedimento que você desenvolveu ?
Mas adiantando, se o XML está invalido, o que deve ser tratado é o XML invalido não o seu procedimento de carga.
1 de junho de 2012 às 8:26 pm #103740fsitjaParticipanteExatamente o que o RMAN disse. O XML deve ser bem-formado:
http://en.wikipedia.org/wiki/XML#Well-f … r-handlingSendo bem formado você pode usar XMLQuery para pegar apenas as tags e “registros” que interessam a você, num insert .. select.
Se precisar de ajudar nesse procedimento, após deixar o XML bem-formado, poste para nós o layout dele e a regra que você precisa, assim como a estrutura da tabela destino, aí podemos ajudá-lo no código.
4 de junho de 2012 às 5:42 pm #103752HitotuziParticipanteBom dia!
Tratam-se de xml de notas fiscais eletronicas
-
14
999999999
REMESSA DE VASILHAME
0
55
1
107203
2010-01-02
2010-01-02
1
1400100
2
1
3
1
1
0
10.12.00.00-
0236594100026
TESTE LTDA
TESTE
Av. Brasil
1000
Cento
146466
SAO PAULO
SP
0000000
1058
BRASIL25454645
0
0000000- 0454646600004
DEST TESTE LTDE
AV DEZ 2456
2275
CENTRO
154654
SAO PAULO
SP
6900000
1058
BRASIL065454565
-
104195
00000000000000
PALETE MADEIRA,1,00 M,1,20 M,0,14 M,PBR1
00
6920
pc
24
17.0000
408.00
00000000000000
pc
24
17.0000-
- 0
60
0.00
0.00 -
000000000000
999
53
-
01
0.00
0.00
0.00-
01
0.00
0.00
0.00-
0.00
0.00
0.00
0.00
408.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
408.00-
0
015515144884840
TRANP LTDA
454645421
Av. Brasil, 952
SAO PAULO
SP
24
0.000
0.000<!--
O ERRO INICIA NESTA TAG ABAIXO OS XML QUE VEM
COM O CONTEÚDO ATÉ A TAG CARREGAM
NORMALMENTE
-->-
-
A página XML não pode ser exibida
Não é possível exibir a entrada XML usando a folha de estilos XSL. Corrija o erro e clique no botão Atualizar ou tente novamente mais tarde.
Em um documento XML só são permitidos elementos de nível superior. Erro ao processar o recurso 'file:///D:/xmlteste/1410010...
MIIGPTCCBSWgAwIBAgIIUhIW3cYF9IcwDQYJKoZIhvcNAQEFBQAwTDELMAkGA1UEBhMCQlIxEzARBgNVBAoTCklDUC1CcmFzaWwxKDAmBgNVBAMTH1NFUkFTQSBD...
O erro está na tag <strong></strong> que as vezes vem no xml, quando não vem, ou seja, quando o xml vem até a tag <strong></strong> carrega normalmente. O comando que estou utilizando para inserir na tabela é:
insert into nfe_owner.tb_nfe_nota_fiscal (NOFI_ID,NOFI_DT_CARGA,NOFI_XML)
values (vi_nofi_id,SYSDATE,xmltype(bfilename('NFE_XML',vs_arquivo),nls_charset_id('AL32UTF8')));
COMMIT;
que está dentro uma procedure que carrega o xml de dentro de um diretório e grava na tabela
4 de junho de 2012 às 6:07 pm #103753rmanParticipante@Hitotuzi
Realmente você precisa corrigir a geração do XML.
-
0236594100026
-
AutorPosts
- Você deve fazer login para responder a este tópico.