OK, mas isso é pra casos que extrapolem limites do cliente : *** SE *** vc está usando sqlplus, como iirc vc disse em outra msg, ABSOLUTAMENTE vc não precisa fazer conversão ALGUMA, o sqlplus 8i é TOTALMENTE capz de exibir CLOBs até o limite definido pelo longsize :
[EMAIL PROTECTED]:SQL>create table TBL_EQUIP_TIPOS(ID number, 2 TIPO char(1), 3 TEXTO_PADRAO CLOB 4 ); Tabela criada. [EMAIL PROTECTED]:SQL>insert into TBL_EQUIP_TIPOS values(1, 'A', 'Este é o texto do tipo A id=1 !!!'); 1 linha criada. [EMAIL PROTECTED]:SQL>commit; Validação completa. [EMAIL PROTECTED]:SQL>select * from TBL_EQUIP_TIPOS; ID T TEXTO_PADRAO ------------------ - ------------------------------------------------- ------------------------------- 1 A Este é o texto do tipo A id=1 !!! [EMAIL PROTECTED]:SQL>insert into TBL_EQUIP_TIPOS values(2, 'B', lpad('X', 4000, '*')); 1 linha criada. [EMAIL PROTECTED]:SQL> [EMAIL PROTECTED]:SQL>BEGIN 2 insert into TBL_EQUIP_TIPOS values(3, 'C', lpad('Y', 32767, '$')); 3 END; 4 / Procedimento PL/SQL concluído com sucesso. [EMAIL PROTECTED]:SQL>select * from TBL_EQUIP_TIPOS; ID T TEXTO_PADRAO ------------------ - ------------------------------------------------- ----------------- 1 A Este é o texto do tipo A id=1 !!! 2 B ****************************************************************** 3 C $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ [EMAIL PROTECTED]:SQL>set lines 80 [EMAIL PROTECTED]:SQL>set long 33000 <<== este é o cara pra ajuste do plus, é documentado no sqlplus user´s guide... -- agora farei um SELECT simples, sem aquele TO_CHAR absurdo (só por causa do espaço aqui do Fórum, vou EDITAR alguns dos "*" e dos "$" , mas eles apareceram direitinho aqui na tela) : [EMAIL PROTECTED]:SQL>select * from TBL_EQUIP_TIPOS; ID T ------------------ - TEXTO_PADRAO ---------------------------------------------------------------------- ---------- 1 A Este é o texto do tipo A id=1 !!! 2 B ********************************************************************** ********** ********************************************************************** ********** ..... ********************************************************************** ********** ********************************************************************** *********X 3 C $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$ ........ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$Y [EMAIL PROTECTED]:SQL> []s Chiappa --- Em oracle_br@yahoogrupos.com.br, Thiago Menon <[EMAIL PROTECTED]> escreveu > > Cara muito obrigado pela ajuda. > > Vou procurar sobre dbms_lob. > > valeu > Thiago > > jlchiappa escreveu: > > >Colega, manipulações de datatypes realmente muitas vezes MUDAM mesmo > >em cada versão de banco, e/ou novos datatypes são adicionados, é > >natural... No caso em questão, é documentado que quando vc chama uma > >função com um argumento de datatype não-esperado há conversão > >implícita (manual "Oracle8i SQL Reference", cap. 4 - Functions, > >), e o mesmo manual cap. 2 - Basic Elements of Oracle SQL, na > >tabela "Table 2-6 SQL Functions for Datatype Conversion" mostra que > >** NÃO HÁ ** conversão implícita entre CHAR e LOB. > > Já no banco 9i, o manual "Oracle9i SQL Reference" no cap. 6, itens > >Functions, nos diz : > > > >----------------------------------------------------------- > >SQL Functions > > Note: > >When you apply SQL functions to LOB columns, Oracle creates temporary > >LOBs during SQL and PL/SQL processing. You should ensure that > >temporary tablespace quota is sufficient for storing these temporary > >LOBs for your application. > > > >==> OU seja, é um comportamento novo/melhoria DO 9i, sim ??? Aliás, é > >EXATAMENTE por isso que é MUITO MUITO recomendável que vc desenvolva > >e tenha os seus bancos de teste EXATAMENTE NA MESMA versão... > > > > A solução 8i é usar as built-ins PL/SQL específicas para LOB no 8i, > >são as da package DBMS_LOB, vc acha ref sobre elas tanto no manual de > >Concepts quanto no PL/SQL user´s Guide. > > > >[]s > > > > Chiappa > > > >--- Em oracle_br@yahoogrupos.com.br, Thiago Menon <[EMAIL PROTECTED]> > >escreveu > > > > > >>Estou com o seguinte problema. > >> > >> > >> > >>>Qdo eu faço uma query em uma tabela com um campo que tem o tipo = > >>> > >>> > >CLOB > > > > > >>>eu utilizo TO_CHAR(campo), para recuperar o valor. > >>> > >>>Isso funciona lega no banco com versão 9i mas meu servidor está > >>> > >>> > >rodando > > > > > >>>o 8i e ele nao aceita fala q o tipo é invalido. > >>>Alguem sabe como posso solucionar isso ? > >>> > >>> > >>>Erro no SqlPlus: > >>>SQL> SELECT ID, TIPO, TO_CHAR(TEXTO_PADRAO) AS TEXTO > >>> 2 FROM TBL_EQUIP_TIPOS > >>> 3 ORDER BY TIPO; > >>>SELECT ID, TIPO, TO_CHAR(TEXTO_PADRAO) AS TEXTO > >>> * > >>>ERRO na linha 1: > >>>ORA-00932: inconsistent datatypes > >>> > >>> > >>>muito obrigado > >>>Thiago > >>>Msn: [EMAIL PROTECTED] > >>> > >>> > >>> > > > > > > > > > > > > > >------------------------------------------------------------------- ------------------------------------------------------- > >Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. > >Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ > >------------------------------------------------------------------- ------------------------------------------------------- __________________________________________________________________ > > > >Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine > >__________________________________________________________________ > >O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário. > >Links do Yahoo! Grupos > > > > > > > > > > > > > > > > > > > > > -------------------------------------------------------------------------------------------------------------------------- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --------------------------------------------------------------------------------------------------------------------------__________________________________________________________________ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine __________________________________________________________________ O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário. Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html