Se é com dblink ferrou.

 

Tive que quebrar o XML em pedaços de 4000 para poder enviá-lo via dblink.

 

Se alguém tiver uma solução será muito bem vinda.

 

Étore

 

From: [email protected] [mailto:[email protected]] On
Behalf Of Jales Jose Moraes
Sent: quinta-feira, 17 de maio de 2012 09:00
To: [email protected]
Subject: Re: [oracle_br] XML em CLOB

 

  

Blz étore, retornando novamente  :)
 
De fato sua sugestão funciona (mas pelos meus testes no mesmo banco), mas
talvez não tenha dito que a questão é via dblink. Tentei uma exportação 
com extensões .xls, .txt mas estranho é que ele trunca o xml. Veja o exemplo
e a mensagem do erro.
 
INSERT INTO sus.cli_xml@desenv SELECT * FROM sus.cli_xml
 
[1]: (Error): ORA-22804: operações remotas não permitidas em tabelas de
objeto ou em colunas de tipo definido pelo usuário
 
Obs.: Nesta tabela há um campo xml_type e mesmo colocando o .getCLOBval()
retorna a mesma mensagem.
 
 

________________________________
De: Étore <[email protected] <mailto:etore%40snpti.com.br> >
Para: "[email protected] <mailto:oracle_br%40yahoogrupos.com.br>
" <[email protected] <mailto:oracle_br%40yahoogrupos.com.br> > 
Enviadas: Segunda-feira, 14 de Maio de 2012 16:53
Assunto: Re: [oracle_br] XML em CLOB

Jales, vou insistir: NÃO há necessidade de código extra para mover/copiar  
o conteúdo de um campo/variável do tipo XML para um campo/variável do tipo  
CLOB.
.
Uma simples atribuição (conforme escrevi nas respostas anteriores) é o  
suficiente.
.
Uso a função .getCLOBval() em XMLs com mais de 60k nas versões 10gR2 e  
11gR2 e funciona bem.
.
Étore

On Mon, 14 May 2012 15:18:24 -0300, Jales Jose Moraes  
<[email protected] <mailto:malphigjjm%40yahoo.com.br> > wrote:

> É, acho que devo criar uma proc, meu xml tem aproximadamente 60 mil  
> bytes , campo vou inserir (mesmo com a função) ele da a mensagem  
> 14:50:49  ORA-01704: literal de string extenso demais, fiz uma pesquisa  
> me parece que tenho que concatenar de 4000 em 4000 bytes.
>  Se os senhores souber de algum procedimento menos dispendioso, agradeço.
>    
>
> ________________________________
> De: Eriovaldo Andrietta <[email protected]
<mailto:ecandrietta%40gmail.com> >
> Para: [email protected] <mailto:oracle_br%40yahoogrupos.com.br>

> Enviadas: Domingo, 13 de Maio de 2012 10:23
> Assunto: Re: [oracle_br] XML em CLOB
>
>  Olá Étore, Jales:
>
> Vejam o que já fiz um dia.
> Vc entra com um xml dentro de um clob, faz extract das colunas e trabalha
> como clob.
> Espero que ajude e não atrapalhe a discussão.
>
> -- definindo variáveis
> queryCtx DBMS_XMLQUERY.ctxType;
> v_clob_work CLOB := EMPTY_CLOB;
> v_clob_return CLOB := EMPTY_CLOB;
>
> -- Lendo um clob que contem xml
> cursor c1 is
> SELECT 1
> bloco,
> extractvalue(VALUE(COLUNA), '/<tag1>/<tag_coluna1>')
> coluna1,
> extractvalue(VALUE(COLUNA), '/<tag1>/<tab_coluna2>')
> coluna2,
> FROM TABLE(cast( XMLSEQUENCE( EXTRACT(XMLType(v_clob_work),
> '//<tag0>/<tag1>' )) as XMLSequenceType )) coluna;
>
> aqui vc pode correr o cursor e fazer insert com os dados do xml
>
> -- Gerando um xml que está num clob
> a.) preparando o sql que contem as colunas (tags) desejadas no xml
>
> v_sql := 'SELECT coluna1, coluna2
> FROM <sua_tabela>
> WHERE <suas restrições>;
>
> b.) gerando o xml através da query montada:
>
> queryCtx := DBMS_XMLQUERY.newContext(v_sql);
> DBMS_XMLQUERY.setRowTag (queryCtx, '<NOME_TAG1>');
> DBMS_XMLQUERY.setRowSetTag(queryCtx, '<NOME_TAG0>'); -- mAIS EXTERNA
> -- Armazena XML no CLOB
> v_clob_work := DBMS_XMLQUERY.getXml(queryCtx);
> DBMS_XMLQUERY.closeContext(queryCtx);
> -- Atribui para variavel de retorno
> v_clob_return := v_clob_work; -- v_clob_return é XML.
>
> Att
> Eriovaldo
>
> 2012/5/11 Étore <[email protected] <mailto:etore%40snpti.com.br> >
>
>> Como eu escrevi, é o mesmo para comandos DML:
>>
>> insert into jcm values ( variavel_xml.getCLOBval() );
>>
>> ou
>>
>> insert into jcm select coluna_xml.getCLOBval() ...
>>
>> Étore
>>
>> On Fri, 11 May 2012 16:07:41 -0300, Jales Jose Moraes
>> <[email protected] <mailto:malphigjjm%40yahoo.com.br> > wrote:
>>
>> > Blz Étore?
>> > Entendi a questão do select, mas precisava da forma do insert no campo
>> > clob para dados em xml:
>> > insert into jcm values ('dados xml');
>> >
>> >
>> > ________________________________
>> > De: Étore <[email protected] <mailto:etore%40snpti.com.br> >
>> > Para: grupo_oracle <[email protected]
<mailto:oracle_br%40yahoogrupos.com.br> >
>> > Enviadas: Sexta-feira, 11 de Maio de 2012 12:49
>> > Assunto: Re: [oracle_br] XML em CLOB
>> >
>> > Jales
>> >
>> > Não entendi o porque da citação do navigator e do sql developer no teu
>> > post, mas quanto a conversão de tipos tu pode fazer o seguinte:
>> >
>> > variavel_clob := variavel_xml.getCLOBval();
>> >
>> > ou mesmo diretamente em um select ou dml:
>> >
>> > select coluna_xml.getCLOBval()
>> > ...
>> >
>> > Étore
>> >
>> >
>> > On Fri, 11 May 2012 12:17:16 -0300, Jales Jose Moraes
>> > <[email protected] <mailto:malphigjjm%40yahoo.com.br> > wrote:
>> >
>> >> Pessoal estou precisando inserir um xml em um campo CLOB, mas
>> >> diretamente não vai, fala que o tipo é incompativel. Alguem sabe como
>> >> proceder com a inserção? Utilizo o navigator, porem em uma rápida
>> >> pesquisa na web, me parece que é com o sql developer.
>> >>
>> >> [As partes desta mensagem que não continham texto foram removidas]
>> >
>> >
>> > ------------------------------------
>> >
>> >
>> ----------------------------------------------------------
>> >> Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de
>> >> inteira responsabilidade de seus remetentes.
>> > Acesse: http://www.mail-archive.com/[email protected]/
>> >
>> ----------------------------------------------------------
>> >> Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package »
>> >> Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO
>> >> ESPAÇO! VISITE: http://www.oraclebr.com.br/
>> >
>> ----------------------------------------------------------
>> > Links do Yahoo! Grupos
>> >
>> > [As partes desta mensagem que não continham texto foram removidas]
>>
>>
>> ------------------------------------
>>
>>
>> ----------------------------------------------------------
>> >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de
>> inteira responsabilidade de seus remetentes.
>> Acesse: http://www.mail-archive.com/[email protected]/
>>
>> ----------------------------------------------------------
>> >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package »
>> Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO  
>> ESPAÇO!
>> VISITE: http://www.oraclebr.com.br/
>> ----------------------------------------------------------
>> Links do Yahoo! Grupos
>>
>>
>>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
>
> [As partes desta mensagem que não continham texto foram removidas]

------------------------------------

----------------------------------------------------------
>Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/[email protected]/ 
----------------------------------------------------------
>Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure
» Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE:
http://www.oraclebr.com.br/  
---------------------------------------------------------- Links do Yahoo!
Grupos

[As partes desta mensagem que não continham texto foram removidas]





[As partes desta mensagem que não continham texto foram removidas]

Responder a