Gustavo, não consegui rodar esse seu Select.
Realmente vou precisar trabalhar com DBMS_LOB. Por já que to
exportando Procedure e Function é comum ter mais de 4000 chars.
VOu passar minha funcao como está. e outra que uso para ler arquivo e
salvar ele em uma tabela. Pode ajudar alguem que tenha
Ops, Desculpa me exspressei mal.
na verdade seu exemplo só arrumei um () e acerto. mas tentei colocar
meu caso e retorno um erro ==
ORA-06502: PL/SQL: erro: buffer de string de caracteres pequeno
demais numérico ou de valor ORA-06512: em line 1
select
sys.dbms_lob.substr(dbms_metadata.get_ddl
na verdade esse comando SUBSTR só aceita até 4000 de byte.
Alguem tem alguma solução?
Como dar um execute EXECUTE IMMEDIATE em um CLOB com mais de 4000
Caractere??
--- Em oracle_br@yahoogrupos.com.br, Gabriel Herdt
[EMAIL PROTECTED] escreveu
Ops, Desculpa me exspressei mal.
na verdade seu
Colega Gabriel, vou tentar ** DE NOVO **, again, vamos ver se consigo
passar a mensagem - mais ou menos como os ingleses vitorianos, que
achavam que qquer um entende inglês se vc falar alto o suficiente :0
Faça como o seu xará Sylar, vamos à fonte das coisas :0, vamos lá ,
começando por
Sem problemas se eu conseguir passo aqui para a lista. mas vou poder
ver isso soh no final de semana. tem que estar pronto na quarta a
funcao =(. Vou passar uma funcao que trabalha com read_file do oracle.
Ai se voce conseguir modificar ela para nosso objetivo ficaria grato.
PROCEDURE read_file
Bom Dia,,
Para converter o clob em varchar utilizo o seguinte comando,,
select
sys.dbms_lob.substr(dbms_metadata.get_ddl('USER',usuario),
sys.dbms_lob.getlength(dbms_metadata.get_ddl 'USER',usuario))) DDL
from dual
neste caso para gerar o DDL de criação de usuários...
mas nunca o utilizei
Pessoal,
Neste caso eu acredito que o pacote DBMS_LOB possa ajudar. Nele vocês podem
utilizar o procedimento READ para ler pedaços de uma variável do tipo LOB.
Estes pedaços poderiam ser acumulados em uma variável VARCHAR2 que poderia ser
passada para o comando EXECUTE IMMEDIATE.
Claro que se