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]
