Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

M.Gomide

Guardar um arquivo XML em Banco Oracle

Recommended Posts

Saudações a todos.

 

Estou com uma aplicação necessitando de guardar um arquivo XML no Banco.

 

Não preciso de manipular as tags do XML ou coisa parecida...

 

Quero pegar um arquivo XML qualquer e fazer um INSERT dele no banco, do arquivo por inteiro.

 

Já tentei utilizar a coluna do tipo XMLType e CLOB, mas como o arquivo é um pouco extenso, sempre dá uma mensagem dizendo que são muitos caracteres para armazenar.

 

Alguém já fez algo do tipo que posso me ajudar nesse problema?

 

Exemplo do XML.:

========================================================

<?xml version="1.0" encoding="UTF-8"?>

<template id="7050" direction="I">

<field name="COD_IDENT_UNMET" length="12" type="CHAR" description="Codigo de identificacao da UM"/>

<field name="SEQ_OPERA_UNMET" length="2" type="NUM" description="Sequencia de operacao da UM"/>

<field name="NUM_IDENT_PROG" length="5" type="NUM" description="Numero de identificacao do programa"/>

<field name="ORD_SEQPR_UNMET" length="2" type="NUM" description="Ordem da sequencia de producao da UM"/>

<field name="COD_IDENT_ACO" length="5" type="CHAR" description="Codigo de identificacao do aco (aco materia prima)"/>

<field name="VLR_DENSID_UNMET" length="4" type="NUM" description="Densidade da UM"/>

<field name="LAR_MM_UNMET" length="6" type="NUM" description="Largura da UM"/>

<field name="ESP_MM_UNMET" length="5" type="NUM" description="Espessura da UM"/>

<field name="COM_REAL_UNMET" length="5" type="NUM" description="Comprimento real da UM"/>

<field name="PESO_LIQUI_UNMET" length="5" type="NUM" description="Peso liquido da UM"/>

<field name="COD_TIPO_ACO" length="5" type="CHAR" description="Tipo de aco (aco interno)"/>

<field name="COD_TIPO_REVEST" length="3" type="CHAR" description="Tipo de revestimento"/>

<field name="COD_IDENT_ACOEX" length="5" type="CHAR" description="Tipo de produto (aco externo)"/>

<field name="DESC_INST_ESPEC" length="1" type="CHAR" description="Existencia de Instrucao Especial"/>

<field name="NUM_CONTR_MEDID" length="5" type="CHAR" description="Codigo da Contramedida"/>

<field name="NUM_IDENT_RNC" length="6" type="CHAR" description="Relatorio de nao conformidade"/>

<field name="COD_KANBA_UNMET" length="1" type="CHAR" description="Kanbam LTQ"/>

<field name="COD_IDENT_TIPRE" length="4" type="CHAR" description="Codigo da receita"/>

<field name="NUM_SEQ_RECEI" length="4" type="CHAR" description="Numero da receita"/>

<field name="COD_DEFEI_PRODT1" length="3" type="CHAR" description="Codigo Defeito 1"/>

<field name="COD_INTEN_DEFEI1" length="1" type="CHAR" description="Gravidade do defeito 1"/>

<field name="COD_DEFEI_PRODT4" length="3" type="CHAR" description="Codigo Defeito 4"/>

<field name="COD_INTEN_DEFEI4" length="1" type="CHAR" description="Gravidade do defeito 4"/>

<field name="POS_LONIN_DEFEI4" length="5" type="NUM" description="Posicao inicial longitudinal do defeito <field name="POS_LONFI_DEFEI5" length="5" type="NUM" description="Posicao final longitudinal do defeito 5"/>

<field name="COD_IDENT_UMPCP" length="15" type="CHAR" description="Unidade Metalica PCP"/>

<field name="COD_INTERN_PEDCL" length="7" type="NUM" description="Pedido Cliente"/>

<field name="ESP_MM_PRODT" length="10" type="NUM" description="Espessura Alocacao da UM"/>

<field name="LAR_MM_PROAC" length="11" type="NUM" description="Largura Alocacao da UM"/>

<field name="COM_MM_PROAC" length="13" type="NUM" description="Comprimento Alocacao da UM"/>

<field name="COD_EMBAL_PRODT" length="2" type="NUM" description="Codigo embalagem"/>

<field name="COD_IDENT_ACOAC" length="5" type="CHAR" description="Codigo Aco Alocado"/>

<field name="COD_QUASU_PROAC" length="2" type="CHAR" description="Qualidade superficial Alocado"/>

<field name="COD_PAQUA_UNMET" length="1" type="CHAR" description="Padrao Qualidade Alocada"/>

<field name="COD_CLASS_UNMET" length="2" type="CHAR" description="Classe Alocada da UM"/>

<field name="COD_IDENT_CLIEN" length="7" type="NUM" description="Codigo Cliente"/>

<field name="NUM_EMEND_FITA" length="2" type="NUM" description="Numero de emenda"/>

<field name="NUM_SOLDA_LAMIN" length="2" type="NUM" description="Numero solda laminada"/>

</template>

========================================================

Tentei utilizar o tipo CLOB, pois dizem que aceita até 4Gb de [ Caracter Large OBject ]

 

Estou utilizando o Oracle 9.

 

Aguardo resposas

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já tentei utilizar a coluna do tipo XMLType e CLOB,

já tentou usar BLOB?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ainda não... apenas o dois tipos que citei acima....

 

Precisa de alguma codificação adicional para ele aceitar o xml como binário, ou posso enviar o xml direto pra o banco??

Compartilhar este post


Link para o post
Compartilhar em outros sites

usa direto

 

create table tabela (
id number(5),
arq_xml blob)

Compartilhar este post


Link para o post
Compartilhar em outros sites

BLOB o limite é , salvo me engano , 4G.

 

Tinha um artigo do site do Imasters sobre como gravar arquivos em BLOBs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.